How to test if MethodInfo.ReturnType is type of System.Void?
You can't use System.Void
directly, but can access it using typeof(void)
.
Several people point out (here and in the comments here for example) that the reason for this is that the ECMA Standard 335, Partition II, section 9.4 says:
The following kinds of type cannot be used as arguments in instantiations (of generic types or methods):
- Byref types (e.g.,
System.Generic.Collection.List 1<string&>
is invalid)- Value types that contain fields that can point into the CIL evaluation stack (e.g.,
List<System.RuntimeArgumentHandle>
)- void (e.g.,
List<System.Void>
is invalid)
When I build this, I get the error:
System.Void cannot be used from C# -- use typeof(void) to get the void type object
Sounds like that's the answer...