IL2094:在方法的隐式 this
参数的“DynamicallyAccessedMembersAttribute”注释中使用的“DynamicallyAccessedMemberTypes”值与重写的 this
参数注释的“DynamicallyAccessedMemberTypes”值不匹配。 所有重写的成员都必须具有相同的属性用法
虚拟方法的所有重写(包括基方法)必须在其所有组件上具有相同的 DynamicallyAccessedMembersAttribute 用法(返回值、参数和泛型参数)。
C#
// This only works on methods in System.Type and derived classes - this is just an example
public class Type
{
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods)]
public virtual void TestMethod() {}
}
public class DerivedType : Type
{
// IL2094: 'DynamicallyAccessedMemberTypes' in 'DynamicallyAccessedMembersAttribute' on the implicit 'this' parameter of method 'DerivedType.TestMethod' don't match overridden implicit 'this' parameter of method 'Type.TestMethod'. All overridden members must have the same 'DynamicallyAccessedMembersAttribute' usage.
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)]
public override void TestMethod() {}
}