在C#中,Attributes.Add()方法用于向类型、成员或程序集添加自定义属性。它的使用方式如下:
- 创建一个自定义属性类,该类必须继承自System.Attribute类。例如:
using System; [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] public class CustomAttribute : Attribute { // 自定义属性的成员和方法 }
- 将该自定义属性添加到类型、成员或程序集上。例如:
[CustomAttribute] public class MyClass { [CustomAttribute] public void MyMethod() { } }
- 在需要添加自定义属性的地方,使用Attributes.Add()方法。例如:
using System.Reflection; public class Program { public static void Main() { Type type = typeof(MyClass); MethodInfo methodInfo = type.GetMethod("MyMethod"); CustomAttribute customAttribute = new CustomAttribute(); methodInfo.GetCustomAttributes().Add(customAttribute); } }
在上面的示例中,我们通过typeof()方法获取了MyClass的Type对象,然后使用GetMethod()方法获取了MyMethod的MethodInfo对象。接下来,我们创建了一个CustomAttribute对象,并使用Attributes.Add()方法将其添加到了MyMethod方法上。
需要注意的是,Attributes.Add()方法返回的是一个AttributeCollection实例,该实例是只读的,我们无法直接修改它。如果需要修改或删除已添加的自定义属性,需要使用反射机制来实现。