That works.dpratt71 said:You have the parameter order correct, but you still can't do what you want. The only thing a generic parameter can express is a type. The The parameter direction is defined by the Func<> delegate itself, and you can't change it. Depending on what you're trying to do, you can define your own delegate apart from Func<>. Something like this, perhaps:brian.shapiro said:*snip*public delegate int MyDelegate(out char value);Actually, I'm not 100% sure the above is valid. An "out" parameter on a delegate may not be valid.