I have...

```
Func<string> del2 = new Func<string>(MyMethod);

```

and I really want to do..

```
Func<> del2 = new Func<>(MyMethod);

```

so the return type of the callback method is void. Is this possible using the generic type func?
['https://Stackoverflow.com/questions/8414930', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/223863/']
The `Func` family of delegates is for methods that take zero or more parameters and return a value. For methods that take zero or more parameters an don't return a value use one of the `Action` delegates. If the method has no parameters, use [the non-generic version of `Action`](http://msdn.microsoft.com/en-us/library/system.action.aspx):

```
Action del = MyMethod;

```
In cases where you're 'forced' to use `Func<T>`, e.g. in an internal generic API which you want to reuse, you can just define it as `new Func<object>(() => { SomeStuff(); return null; });`.