阅读量:0
在C#中,可以使用GetCustomAttributes方法来获取指定成员(如类、方法、属性等)的自定义属性。该方法返回一个Attribute数组,表示指定成员上应用的所有自定义属性。
以下是一个示例代码,用于获取返回值属性:
using System; using System.Reflection; class Program { static void Main() { MethodInfo methodInfo = typeof(MyClass).GetMethod("MyMethod"); // 获取返回值属性 object[] returnAttributes = methodInfo.ReturnTypeCustomAttributes.GetCustomAttributes(true); foreach (object attribute in returnAttributes) { Console.WriteLine(attribute.ToString()); } } } class MyClass { [MyCustomAttribute("Custom attribute")] public int MyMethod() { return 0; } } [AttributeUsage(AttributeTargets.ReturnValue)] class MyCustomAttribute : Attribute { public MyCustomAttribute(string message) { Message = message; } public string Message { get; } }
在上面的示例中,我们通过反射获取了MyClass类中的MyMethod方法,并使用GetCustomAttributes方法来获取返回值属性。在这个例子中,我们定义了一个自定义属性MyCustomAttribute,并将其应用在MyMethod方法的返回值上。获取到返回值属性后,我们遍历输出了该属性的信息。