I have this simple interface in .net-6/C#9 with nullable reference types turned on:
public interface IMyInterface
{
Task<MyModel?> GetMyModel();
}
How do I detect by reflection that the generic argument MyModel
of method's return type is in fact declared as nullable reference type MyModel?
?
What i tried...
typeof(IMyInterface).GetMethods()[0].ReturnType...??
I tried using NullabilityInfoContext
but the Create
method accepts PropertyInfo
, ParameterInfo
, FieldInfo
, EventInfo
which does not really help here or I can't figure out how.
The solution from here also accepts only PropertyInfo
, FieldInfo
and EventInfo
I also tried observing the attributes from method.ReturnType.GenericTypeArguments[0]
but there is no difference between methods that return Task<MyModel>
and Task<MyModel?>