DynamicMethod.ReturnTypeCustomAttributes 属性

定义

获取动态方法的返回类型的自定义属性。

public:
 virtual property System::Reflection::ICustomAttributeProvider ^ ReturnTypeCustomAttributes { System::Reflection::ICustomAttributeProvider ^ get(); };
public override System.Reflection.ICustomAttributeProvider ReturnTypeCustomAttributes { get; }
member this.ReturnTypeCustomAttributes : System.Reflection.ICustomAttributeProvider
Public Overrides ReadOnly Property ReturnTypeCustomAttributes As ICustomAttributeProvider

属性值

表示动态方法的返回类型的自定义属性的 ICustomAttributeProvider

示例

下面的代码示例演示如何显示动态方法的返回类型的自定义特性。 此代码示例是为 DynamicMethod 类提供的一个更大示例的一部分。

// ReturnTypeCustomAttributes returns an ICustomeAttributeProvider
// that can be used to enumerate the custom attributes of the
// return value. At present, there is no way to set such custom
// attributes, so the list is empty.
if (hello->ReturnType == Void::typeid)
{
    Console::WriteLine("The method has no return type.");
}
else
{
    ICustomAttributeProvider^ caProvider = hello->ReturnTypeCustomAttributes;
    array<Object^>^ returnAttributes = caProvider->GetCustomAttributes(true);
    if (returnAttributes->Length == 0)
    {
        Console::WriteLine("\r\nThe return type has no custom attributes.");
    }
    else
    {
        Console::WriteLine("\r\nThe return type has the following custom attributes:");
        for each (Object^ attr in returnAttributes)
        {
            Console::WriteLine("\t{0}", attr->ToString());
        }
    }
}
// ReturnTypeCustomAttributes returns an ICustomeAttributeProvider
// that can be used to enumerate the custom attributes of the
// return value. At present, there is no way to set such custom
// attributes, so the list is empty.
if (hello.ReturnType == typeof(void))
{
    Console.WriteLine("The method has no return type.");
}
else
{
    ICustomAttributeProvider caProvider = hello.ReturnTypeCustomAttributes;
    object[] returnAttributes = caProvider.GetCustomAttributes(true);
    if (returnAttributes.Length == 0)
    {
        Console.WriteLine("\r\nThe return type has no custom attributes.");
    }
    else
    {
        Console.WriteLine("\r\nThe return type has the following custom attributes:");
        foreach( object attr in returnAttributes )
        {
            Console.WriteLine("\t{0}", attr.ToString());
        }
    }
}
' ReturnTypeCustomAttributes returns an ICustomeAttributeProvider
' that can be used to enumerate the custom attributes of the
' return value. At present, there is no way to set such custom
' attributes, so the list is empty.
If hello.ReturnType Is GetType(System.Void) Then
    Console.WriteLine("The method has no return type.")
Else
    Dim caProvider As ICustomAttributeProvider = _
        hello.ReturnTypeCustomAttributes
    Dim returnAttributes() As Object = _
        caProvider.GetCustomAttributes(True)
    If returnAttributes.Length = 0 Then
        Console.WriteLine(vbCrLf _
            & "The return type has no custom attributes.")
    Else
        Console.WriteLine(vbCrLf _
            & "The return type has the following custom attributes:")
        For Each attr As Object In returnAttributes
            Console.WriteLine(vbTab & attr.ToString())
        Next attr
    End If
End If

注解

动态方法的返回类型不支持自定义属性,因此该方法返回 GetCustomAttributes 的自定义属性数组始终为空。

适用于

另请参阅