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 命名空间