MethodBase
сам по себе не имеет возвращаемого типа, поскольку в дополнение к обычным методам он также используется для представления методов, например конструкторов, которые не имеют возвращаемого типа. Вместо этого вам нужно посмотреть, является ли это экземпляром MethodInfo
, и проверить это для свойства ReturnType
.
CompileTimeValidate(MethodBase method) {
var normalMethod = method as MethodInfo;
if( normalMethod != null) {
ValidateReturnType(normalMethod.ReturnType);
}
}