TypeLibFuncAttribute 类

包含最初从 COM 类型库为此方法导入的 FUNCFLAGS

**命名空间:**System.Runtime.InteropServices
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
<ComVisibleAttribute(True)> _
<AttributeUsageAttribute(AttributeTargets.Method, Inherited:=False)> _
Public NotInheritable Class TypeLibFuncAttribute
    Inherits Attribute
用法
Dim instance As TypeLibFuncAttribute
[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)] 
public sealed class TypeLibFuncAttribute : Attribute
[ComVisibleAttribute(true)] 
[AttributeUsageAttribute(AttributeTargets::Method, Inherited=false)] 
public ref class TypeLibFuncAttribute sealed : public Attribute
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Method, Inherited=false) */ 
public final class TypeLibFuncAttribute extends Attribute
ComVisibleAttribute(true) 
AttributeUsageAttribute(AttributeTargets.Method, Inherited=false) 
public final class TypeLibFuncAttribute extends Attribute

备注

类型库导入程序 (Tlbimp.exe) 将此属性应用于方法。

导入类型库时会应用该属性,决不要更改它。仅当该方法的 FUNCFLAGS 计算为非零值时才应用它。该属性旨在供需要知道原始 FUNCFLAGS 的设置方式的工具使用。公共语言运行库不使用此属性。

示例

下面的示例演示了如何获取一个方法的 TypeLibFuncAttribute 值。

Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

Module C
    Public Function IsHiddenMethod(ByVal mi As MethodInfo) As Boolean
        Dim MethodAttributes As Object() = mi.GetCustomAttributes(GetType(TypeLibFuncAttribute), True)

        If MethodAttributes.Length > 0 Then
            Dim tlf As TypeLibFuncAttribute = MethodAttributes(0)
            Dim flags As TypeLibFuncFlags = tlf.Value
            Return (flags & TypeLibFuncFlags.FHidden) > 0
        End If
        Return False
    End Function
End Module
using System;
using System.Reflection;
using System.Runtime.InteropServices;

namespace C
{
    class ClassC    
    {
        public static bool IsHiddenMethod( MethodInfo mi )
        {
            object[] MethodAttributes = mi.GetCustomAttributes( typeof( TypeLibFuncAttribute ), true);
        
            if( MethodAttributes.Length > 0 )
            {
                TypeLibFuncAttribute tlf = ( TypeLibFuncAttribute )MethodAttributes[0];
                TypeLibFuncFlags  flags = tlf.Value;
                return ( flags & TypeLibFuncFlags.FHidden ) != 0; 
            }
            return false;
        }
    }
}
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;

ref class ClassC
{
private:
   static bool IsHiddenMethod( MethodInfo^ mi )
   {
      array<Object^>^MethodAttributes = mi->GetCustomAttributes( TypeLibFuncAttribute::typeid, true );
      if ( MethodAttributes->Length > 0 )
      {
         TypeLibFuncAttribute^ tlf = dynamic_cast<TypeLibFuncAttribute^>(MethodAttributes[ 0 ]);
         TypeLibFuncFlags flags = tlf->Value;
         return (flags & TypeLibFuncFlags::FHidden) != (TypeLibFuncFlags)0;
      }

      return false;
   }
};
import System.*;
import System.Reflection.*;
import System.Runtime.InteropServices.*;

class ClassC
{
    public static boolean IsHiddenMethod(MethodInfo mi)
    {
        Object methodAttributes[] 
            = mi.GetCustomAttributes(TypeLibFuncAttribute.class.ToType(), true);

        if (methodAttributes.length > 0) {
            TypeLibFuncAttribute tlf 
                = (TypeLibFuncAttribute)(methodAttributes.get_Item(0));
            TypeLibFuncFlags flags = tlf.get_Value();

            return (int)(flags & TypeLibFuncFlags.FHidden) != 0;
        }
        return false;
    } //IsHiddenMethod
} //ClassC

继承层次结构

System.Object
   System.Attribute
    System.Runtime.InteropServices.TypeLibFuncAttribute

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

TypeLibFuncAttribute 成员
System.Runtime.InteropServices 命名空间

其他资源

类型库导入程序 (Tlbimp.exe)