I\'m a very new to C#. Just playing around with it. Not for a real purpose.
void makeOutput( int _param)
{
Console.WriteLine( _param.ToString());
}
//..
I had similar problem and friend showed me the way:
makeOutput((new Func<Int32>(() => { return 0; })).Invoke());
Hope this will help
Yes.
It's called a delegate.
Delegates are (more-or-less) normal types; you can pass them to functions just like any other type.
void makeOutput(Func<int> param) {
Console.WriteLine(param());
}
makeOutput(delegate { return 4; });
makeOutput(() => { return 4; });
makeOutput(() => 4);
Your edited question does not make sense.
C# is type-safe.
If the method doesn't want a function as a parameter, you cannot give it a method as a parameter.
void makeOutput(Func<int> _param)
{
makeOutput(_param());
}
void makeOutput(int _param)
{
Console.WriteLine( _param.ToString());
}
This can do the trick!
It's the simples way : overloading!