TypeLibVarAttribute 类
包含最初为此字段从 COM 类型库导入的 VARFLAGS。
**命名空间:**System.Runtime.InteropServices
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
<AttributeUsageAttribute(AttributeTargets.Field, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class TypeLibVarAttribute
Inherits Attribute
用法
Dim instance As TypeLibVarAttribute
[AttributeUsageAttribute(AttributeTargets.Field, Inherited=false)]
[ComVisibleAttribute(true)]
public sealed class TypeLibVarAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Field, Inherited=false)]
[ComVisibleAttribute(true)]
public ref class TypeLibVarAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Field, Inherited=false) */
/** @attribute ComVisibleAttribute(true) */
public final class TypeLibVarAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Field, Inherited=false)
ComVisibleAttribute(true)
public final class TypeLibVarAttribute extends Attribute
备注
类型库导入程序 (Tlbimp.exe) 将此属性应用于字段。
导入类型库时会应用该属性,决不要更改它。仅当方法的 VARFLAGS 计算结果为非零值时才应用它。该属性旨在供需要知道原始 VARFLAGS 的设置方式的工具使用。公共语言运行库不使用此属性。
示例
下面的示例演示了如何获取字段的 TypeLibVarAttribute 值。
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
Module D
Public Function IsHiddenField(ByVal fi As FieldInfo) As Boolean
Dim FieldAttributes As Object() = fi.GetCustomAttributes(GetType(TypeLibVarAttribute), True)
If FieldAttributes.Length > 0 Then
Dim tlv As TypeLibVarAttribute = FieldAttributes(0)
Dim flags As TypeLibVarFlags = tlv.Value
Return (flags & TypeLibVarFlags.FHidden) > 0
End If
Return False
End Function
End Module
using System;
using System.Reflection;
using System.Runtime.InteropServices;
namespace D
{
class ClassD
{
public static bool IsHiddenField( FieldInfo fi )
{
object[] FieldAttributes = fi.GetCustomAttributes( typeof( TypeLibVarAttribute ), true);
if( FieldAttributes.Length > 0 )
{
TypeLibVarAttribute tlv = ( TypeLibVarAttribute )FieldAttributes[0];
TypeLibVarFlags flags = tlv.Value;
return ( flags & TypeLibVarFlags.FHidden ) != 0;
}
return false;
}
}
}
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;
ref class ClassD
{
public:
static bool IsHiddenField( FieldInfo^ fi )
{
array<Object^>^FieldAttributes = fi->GetCustomAttributes( TypeLibVarAttribute::typeid, true );
if ( FieldAttributes->Length > 0 )
{
TypeLibVarAttribute^ tlv = dynamic_cast<TypeLibVarAttribute^>(FieldAttributes[ 0 ]);
TypeLibVarFlags flags = tlv->Value;
return (flags & TypeLibVarFlags::FHidden) != (TypeLibVarFlags)0;
}
return false;
}
};
import System.*;
import System.Reflection.*;
import System.Runtime.InteropServices.*;
class ClassD
{
public static boolean IsHiddenField(FieldInfo fi)
{
Object fieldAttributes[] =
fi.GetCustomAttributes(TypeLibVarAttribute.class.ToType(), true);
if (fieldAttributes.length > 0) {
TypeLibVarAttribute tlv = (TypeLibVarAttribute)fieldAttributes[0];
TypeLibVarFlags flags = tlv.get_Value();
return Convert.ToInt32(flags & TypeLibVarFlags.FHidden) != 0;
}
return false;
} //IsHiddenField
} //ClassD
继承层次结构
System.Object
System.Attribute
System.Runtime.InteropServices.TypeLibVarAttribute
线程安全
此类型的任何公共静态(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
请参见
参考
TypeLibVarAttribute 成员
System.Runtime.InteropServices 命名空间