使用英语阅读

通过


IL2115:“type”上的“DynamicallyAccessedMembersAttribute”或它的一个基类型引用“member”,具有“DynamicallyAccessedMembersAttribute”要求

原因

带有 DynamicallyAccessedMembersAttribute 注释的类型,指示该类型可以动态访问其中一个派生类型上声明的一些成员。 这会指示剪裁器保留指定的成员,但其中一个基类型或接口类型的成员将带有 DynamicallyAccessedMembersAttribute 注释,无法静态验证这些成员。 DynamicallyAccessedMembersAttribute 注释可以直接位于类型上,也可以由其基类型或接口类型上的注释所隐含。 此警告源自具有 DynamicallyAccessedMembersAttribute 要求的类型。

示例

C#
public class BaseType {
    [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties)]
    public static Type Field;
}

// Trim analysis warning IL2115: AnnotatedType: 'DynamicallyAccessedMembersAttribute' on 'AnnotatedType' or one of its
// base types references 'System.Type BaseType::Field' which has 'DynamicallyAccessedMembersAttribute' requirements .
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)]
public class AnnotatedType : BaseType {
}