在C#中,Attributes.Add()方法用于向类型、成员或程序集添加自定义属性。它的使用方式如下:
using System;
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class CustomAttribute : Attribute
{
// 自定义属性的成员和方法
}
[CustomAttribute]
public class MyClass
{
[CustomAttribute]
public void MyMethod()
{
}
}
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实例,该实例是只读的,我们无法直接修改它。如果需要修改或删除已添加的自定义属性,需要使用反射机制来实现。