共用方式為


ITypeParameterSymbol 介面

定義

表示泛型型別或泛型方法中的型別參數。

public interface class ITypeParameterSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ITypeSymbol
public interface ITypeParameterSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ITypeSymbol
type ITypeParameterSymbol = interface
    interface ITypeSymbol
    interface INamespaceOrTypeSymbol
    interface ISymbol
    interface IEquatable<ISymbol>
Public Interface ITypeParameterSymbol
Implements IEquatable(Of ISymbol), ITypeSymbol
實作

備註

此介面會保留供其相關聯的 API 實作使用。 我們保留未來變更它的權利。

屬性

AllInterfaces

此類型為宣告子類型的所有介面清單,不包括此類型本身。 這包括所有宣告的基底介面、基底類型的所有宣告基底介面,以及這些結果的所有宣告基底介面 (遞歸) 。 這也是型別參數的有效介面集。 每個結果只會出現在清單中一次。 此清單依繼承關聯性以拓撲方式排序:如果介面類型 A 會擴充介面類型 B,則 A 會在清單中的 B 之前。 這與「此類型為適當子類型的所有介面」不同,因為它不會考慮變異數:IEnumerable 字串的 AllInterfaces 將不會包含 IEnumerable<<物件>。>

(繼承來源 ITypeSymbol)
BaseType

這個型別的宣告基底類型,或 null。 物件類型、介面類型和指標類型沒有基底類型。 型別參數的基底類型是其有效的基類。

(繼承來源 ITypeSymbol)
CanBeReferencedByName

如果此符號可以在程式代碼中透過其名稱來參考,則傳回 true。

(繼承來源 ISymbol)
ConstraintNullableAnnotations

直接指定為條件約束類型條件約束的最上層 Nullabilities。

ConstraintTypes

直接指定為類型參數條件約束的類型。

ContainingAssembly

IAssemblySymbol取得包含元件的 。 如果符號在多個元件之間共用,則傳回 null。

(繼承來源 ISymbol)
ContainingModule

IModuleSymbol取得包含模組的 。 如果符號在多個模組之間共用,則傳回 null。

(繼承來源 ISymbol)
ContainingNamespace

INamespaceSymbol取得最接近封入命名空間的 。 如果符號未包含在命名空間中,則傳回 null。

(繼承來源 ISymbol)
ContainingSymbol

ISymbol取得立即包含符號之 的 。

(繼承來源 ISymbol)
ContainingType

INamedTypeSymbol取得包含型別的 。 如果符號未包含在類型內,則傳回 null。

(繼承來源 ISymbol)
DeclaredAccessibility

取得 , Accessibility 表示符號的宣告輔助功能。 如果未宣告輔助功能,則傳回 NotApplicable。

(繼承來源 ISymbol)
DeclaringMethod

宣告型別參數或 null 的方法。

DeclaringSyntaxReferences

取得語法節點 () 此符號在來源中宣告的位置。 例如,某些符號 (,部分類別) 可能定義於多個位置。 只有當符號是在原始程式碼中宣告,而且未隱含宣告時,這個屬性才應該傳回一或多個語法節點, (請參閱 IsImplicitlyDeclared 屬性) 。

請注意,針對命名空間符號,宣告語法可能會宣告巢狀命名空間。 例如,“namespace N1” 中 N1 的宣告語法節點。N2 {...}” 是 N1 的整個 NamespaceDeclarationSyntax。N2. 針對全域命名空間,宣告語法會是 CompilationUnitSyntax。

(繼承來源 ISymbol)
DeclaringType

宣告類型參數的型別,或 null。

HasConstructorConstraint

True 是表示 如果為類型參數指定了無參數建構函式條件約束 (new()) 。

HasNotNullConstraint

如果為類型參數指定了 notnull 條件約束 (notnull) ,則為 True。

HasReferenceTypeConstraint

如果為類型參數指定參考型別條件約束 (class) ,則為 True。

HasUnmanagedTypeConstraint

True 是表示 如果為類型參數指定了實值型別條件約束 (unmanaged) 。

HasUnsupportedMetadata

表示此符號使用語言無法支援的元數據。

範例包括:

  • VB 中的指標類型
  • ByRef 傳回類型
  • 必要的自定義修飾詞

這與未參考之元件中定義的元數據符號參考不同。 傳回 true 的符號永遠不會成功使用,因此不應該出現在任何 IDE 功能中。

這會針對元數據符號進行設定,如下所示:

  • 類型 - 例如,如果不支援類型 (,則指標類型)
  • 方法 - 不支持參數或傳回類型
  • 欄位 - 不支援類型
  • 事件 - 不支持類型
  • 屬性 - 不支持類型
  • 參數 - 不支援類型

(繼承來源 ISymbol)
HasValueTypeConstraint

True 是表示 如果為類型參數指定了實值型別條件約束 (struct) 。

Interfaces

取得這個型別直接實作的介面集。 此集合不包含直接實作介面基底介面的介面。 這包括宣告為型別參數條件約束的介面。

(繼承來源 ITypeSymbol)
IsAbstract

取得值,指出符號是否為抽象。

(繼承來源 ISymbol)
IsAnonymousType

這是匿名類型的符號, (包括匿名 VB 委派) 。

(繼承來源 ITypeSymbol)
IsDefinition

取得值,指出符號是否為原始定義。 如果符號衍生自另一個符號,則傳回 false,方法是依實例的類型替代。

(繼承來源 ISymbol)
IsExtern

取得值,指出符號是否在外部定義。

(繼承來源 ISymbol)
IsImplicitlyDeclared

如果編譯程式會自動建立此符號,而且沒有明確的對應原始程式碼宣告,則傳回 true。

(繼承來源 ISymbol)
IsNamespace

如果這個符號是命名空間,則傳回 true。 如果不是命名空間,它必須是類型。

(繼承來源 INamespaceOrTypeSymbol)
IsNativeIntegerType

如果類型代表原生整數,則為 True。 在 C# 中,語言關鍵詞 'nint' 和 'nuint' 所代表的類型。

(繼承來源 ITypeSymbol)
IsOverride

取得值,指出符號是否為基類符號的覆寫。

(繼承來源 ISymbol)
IsReadOnly

如果類型為唯讀,則為 True。

(繼承來源 ITypeSymbol)
IsRecord

針對來源符號,如果類型為記錄,則為 true。 針對元數據符號,如果類型是記錄和參考型別,則為 true。

(繼承來源 ITypeSymbol)
IsReferenceType

如果已知此類型為參考型別,則為 True。 一律不會傳IsReferenceTypeIsValueType回 true。 不過,針對未受限制的類型參數, IsReferenceTypeIsValueType 兩者都會傳回 false。

(繼承來源 ITypeSymbol)
IsRefLikeType

如果類型類似 ref,則為 True,這表示它會遵循類似 CLR by-ref 變數的規則。 False 表示類型不類似 ref,或語言沒有類似 ref 的類型概念。

(繼承來源 ITypeSymbol)
IsSealed

取得值,指出符號是否為密封。

(繼承來源 ISymbol)
IsStatic

取得值,指出符號是否為靜態。

(繼承來源 ISymbol)
IsTupleType

這是元組的符號。

(繼承來源 ITypeSymbol)
IsType

如果這個符號是類型,則傳回 true。 如果不是類型,它必須是命名空間。

(繼承來源 INamespaceOrTypeSymbol)
IsUnmanagedType

True 是表示 如果類型是 Unmanaged 根據語言規則。 如果 Managed 或語言沒有 Unmanaged 類型的概念,則為 False。

(繼承來源 ITypeSymbol)
IsValueType

如果這個類型已知為實值型別,則為 True。 一律不會傳IsReferenceTypeIsValueType回 true。 不過,針對未受限制的類型參數, IsReferenceTypeIsValueType 兩者都會傳回 false。

(繼承來源 ITypeSymbol)
IsVirtual

取得值,指出符號是否為虛擬。

(繼承來源 ISymbol)
Kind

取得 , SymbolKind 指出其為何種符號。

(繼承來源 ISymbol)
Language

取得來源語言 (“C#” 或 “Visual Basic”) 。

(繼承來源 ISymbol)
Locations

取得原本在來源或元數據中定義符號的位置。 例如,某些符號 (,部分類別) 可能定義於多個位置。

(繼承來源 ISymbol)
MetadataName

取得在元數據中顯示的符號名稱。 在大部分情況下,這與 Name 屬性相同,但有下列例外狀況:

  1. 泛型型別的元數據名稱包含 「『1』、“ 2 等後綴,指出其不包含類型 (參數數目,但不包含類型或命名空間的名稱) 。
  2. 相較於 name 屬性,明確介面名稱的元數據名稱已移除空格。
  3. 名稱的長度限制為不超過元數據限制。
(繼承來源 ISymbol)
MetadataToken

取得與此符號相關聯的元數據標記,如果未從元數據載入符號,則為0。

(繼承來源 ISymbol)
Name

取得符號名稱。 如果未命名,則傳回空字串。

(繼承來源 ISymbol)
NullableAnnotation

與類型相關聯的可為 Null 註釋,如果沒有,則 None 為 。

(繼承來源 ITypeSymbol)
Ordinal

類型參數在宣告參數的參數清單中序數位置。 第一個類型參數具有序數零。

OriginalDefinition

取得此類型符號的原始定義。 如果這個符號是透過 (說) 類型替代來衍生自另一個符號,這會取得原始符號,如同來源或元數據中所定義。

ReducedFrom

如果這是縮減擴充方法的類型參數,請取得這個類型參數從中減少的類型參數定義。 否則會傳回 Nothing。

ReferenceTypeConstraintNullableAnnotation

如果 HasReferenceTypeConstraint 為 true,則傳回為類型參數所指定之條件約束的最上層可為 Null 性 classclass如果沒有條件約束,則會傳None回 。

SpecialType

列舉值,識別特定的「特殊」型別,例如 Object。 如果類型不是特殊,則傳 None 回 。

(繼承來源 ITypeSymbol)
TypeKind

列舉值,識別此類型是否為數位、指標、列舉等等。

(繼承來源 ITypeSymbol)
TypeParameterKind

此類型參數的類型參數種類。

Variance

如果有任何類型參數宣告,則為變異數批注。 類型參數可以宣告為 covariant (out) 、contravariant () in ,或兩者都未宣告。

方法

Accept(SymbolVisitor)

表示泛型型別或泛型方法中的型別參數。

(繼承來源 ISymbol)
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

表示泛型型別或泛型方法中的型別參數。

(繼承來源 ISymbol)
Accept<TResult>(SymbolVisitor<TResult>)

表示泛型型別或泛型方法中的型別參數。

(繼承來源 ISymbol)
Equals(ISymbol, SymbolEqualityComparer)

根據所提供的規則,判斷此符號是否等於另一個符號 SymbolEqualityComparer

(繼承來源 ISymbol)
FindImplementationForInterfaceMember(ISymbol)

傳回此類型中的對應符號或實作 interfaceMember 的基底類型, (隱含或明確) ,如果沒有這類符號存在, (可能是因為此類型未實作 interfaceMember 的容器,或此類型不提供成功實作 interfaceMember) 的成員。

(繼承來源 ITypeSymbol)
GetAttributes()

取得符號的屬性。 如果沒有屬性,則傳回空 IEnumerable<T> 的。

(繼承來源 ISymbol)
GetDocumentationCommentId()

傳回符號的檔批註標識符,如果符號不支援檔批注,則為 null。

(繼承來源 ISymbol)
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

取得 XML (做為與符號相關聯之批注的文字) 。

(繼承來源 ISymbol)
GetMembers()

取得此符號的所有成員。

(繼承來源 INamespaceOrTypeSymbol)
GetMembers(String)

取得具有特定名稱之這個符號的所有成員。

(繼承來源 INamespaceOrTypeSymbol)
GetTypeMembers()

取得屬於類型之這個符號的所有成員。

(繼承來源 INamespaceOrTypeSymbol)
GetTypeMembers(String)

取得此符號的所有成員,這些成員是具有任何arity特定名稱的類型。

(繼承來源 INamespaceOrTypeSymbol)
GetTypeMembers(String, Int32)

取得此符號的所有成員,這些成員是具有特定名稱和arity的類型

(繼承來源 INamespaceOrTypeSymbol)
ToDisplayParts(NullableFlowState, SymbolDisplayFormat)

將符號轉換成字串部分的數位,每個元件都有一種。 適用於將顯示字串著色。

(繼承來源 ITypeSymbol)
ToDisplayParts(SymbolDisplayFormat)

將符號轉換成字串元件數組,其中每個元件都有一種。 適合用於著色顯示字串。

(繼承來源 ISymbol)
ToDisplayString(NullableFlowState, SymbolDisplayFormat)

ITypeSymbol 和 可為 Null 的流程狀態轉換為字串表示。

(繼承來源 ITypeSymbol)
ToDisplayString(SymbolDisplayFormat)

將符號轉換成字串表示。

(繼承來源 ISymbol)
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

將符號轉換成字串元件數組,其中每個元件都有一種。 可以針對原始程式碼中的特定位置量身打造。 適合用於著色顯示字串。

(繼承來源 ISymbol)
ToMinimalDisplayParts(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

將符號轉換成字串部分的數位,每個元件都有一種。 可以針對原始程式碼中的特定位置量身打造。 適用於將顯示字串著色。

(繼承來源 ITypeSymbol)
ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

將符號轉換成可向用戶顯示的字串。 可以針對原始程式碼中的特定位置量身打造。

(繼承來源 ISymbol)
ToMinimalDisplayString(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

將符號轉換成可以向用戶顯示的字串。 可以針對原始程式碼中的特定位置量身打造。

(繼承來源 ITypeSymbol)
WithNullableAnnotation(NullableAnnotation)

傳回與這個型別相同的型別,但具有指定的可為 Null 註釋。

(繼承來源 ITypeSymbol)

擴充方法

IsMustOverride(ISymbol)

表示泛型型別或泛型方法中的型別參數。

IsNotOverridable(ISymbol)

表示泛型型別或泛型方法中的型別參數。

IsOverridable(ISymbol)

表示泛型型別或泛型方法中的型別參數。

IsOverrides(ISymbol)

表示泛型型別或泛型方法中的型別參數。

IsShared(ISymbol)

判斷符號是否為共用。

適用於