使用英语阅读

通过


IL2112:“type”上的“DynamicallyAccessedMembersAttribute”或它的一个基类型引用“member”,需要未引用的代码

原因

使用 DynamicallyAccessedMembersAttribute 批注类型,指示该类型可以动态访问类型或其派生类型上声明的一些成员。 这会指示剪裁器保留指定的成员,但其中一个成员将带有 RequiresUnreferencedCodeAttribute 注释,可以在剪裁时中断功能。 DynamicallyAccessedMembersAttribute 注释可以直接位于类型上,也可以由其基类型或接口类型上的注释所隐含。 此警告源自具有 RequiresUnreferencedCodeAttribute 的成员。

示例

[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods)]
public class AnnotatedType {
    // Trim analysis warning IL2112: AnnotatedType.Method(): 'DynamicallyAccessedMembersAttribute' on 'AnnotatedType' or one of its
    // base types references 'AnnotatedType.Method()' which requires unreferenced code. Using this member is trim unsafe.
    [RequiresUnreferencedCode("Using this member is trim unsafe")]
    public static void Method() { }
}