Может кто-нибудь объяснить, почему я вижу то, что вижу (скриншот консоли ниже)? Для аргументов 'ref' и non-'ref 'метода я получил различные общие свойства c от Reflection. Я использую. NET 4.8 (classi c. NET Framework).
public class MyClass {
public class Aref
{
public virtual void method(object je, ref List<MyClass> batchlist, object doc)
{
}
}
public class A
{
public virtual void method(object je, List<MyClass> batchlist, object doc)
{
}
}
private static void WriteGenericProps(Type type)
{
var method = type.GetMethod(nameof(Aref.method));
var param = method.GetParameters().First(p => p.Name == "batchlist");
Console.WriteLine(nameof(param.ParameterType.IsByRef) + "=" + param.ParameterType.IsByRef);
Console.WriteLine(nameof(param.ParameterType.IsGenericType) + "=" + param.ParameterType.IsGenericType);
Console.WriteLine(nameof(param.ParameterType.ContainsGenericParameters) + "=" + param.ParameterType.ContainsGenericParameters);
Console.WriteLine(nameof(param.ParameterType.IsConstructedGenericType) + "=" + param.ParameterType.IsConstructedGenericType);
Console.WriteLine(nameof(param.ParameterType.IsGenericParameter) + "=" + param.ParameterType.IsGenericParameter);
Console.WriteLine(nameof(param.ParameterType.IsGenericTypeDefinition) + "=" + param.ParameterType.IsGenericTypeDefinition);
}
static void Main(string[] args)
{
var t = typeof(Aref);
Console.WriteLine(t.Name);
WriteGenericProps(t);
Console.WriteLine();
t = typeof(A);
Console.WriteLine(t.Name);
WriteGenericProps(t);
}
}
