ITypeSymbol インターフェイス

定義

型を表します。

public interface class ITypeSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::INamespaceOrTypeSymbol
public interface ITypeSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.INamespaceOrTypeSymbol
type ITypeSymbol = interface
    interface INamespaceOrTypeSymbol
    interface ISymbol
    interface IEquatable<ISymbol>
Public Interface ITypeSymbol
Implements IEquatable(Of ISymbol), INamespaceOrTypeSymbol
派生
実装

注釈

このインターフェイスは、関連付けられている API による実装用に予約されています。 当社は、将来変更する権利を留保します。

プロパティ

AllInterfaces

この型が宣言されたサブタイプであるすべてのインターフェイスの一覧 (この型自体を除く)。 これには、宣言されたすべての基本インターフェイス、基本型の宣言されたすべての基本インターフェイス、およびそれらの結果の宣言されたすべての基本インターフェイス (再帰的) が含まれます。 これは、型パラメーターの有効なインターフェイス セットでもあります。 各結果は、一覧に 1 回だけ表示されます。 このリストは、継承関係によってトポロジ的に並べ替えられます。インターフェイスの種類 A がインターフェイスの種類 B を拡張する場合、A はリストの B の前に置きます。 これは、分散を考慮しないため、"この型が適切なサブタイプであるすべてのインターフェイス" とまったく同じではありません。IEnumerable 文字列>の AllInterfaces には IEnumerable<<オブジェクト>は含まれません。

BaseType

この型の宣言された基本型(null)。 オブジェクト型、インターフェイス型、およびポインター型には基本型がありません。 型パラメーターの基本型は、その有効な基底クラスです。

CanBeReferencedByName

このシンボルをコード内の名前で参照できる場合は true を返します。

(継承元 ISymbol)
ContainingAssembly

IAssemblySymbol含むアセンブリの を取得します。 シンボルが複数のアセンブリ間で共有されている場合は null を返します。

(継承元 ISymbol)
ContainingModule

IModuleSymbol含むモジュールの を取得します。 シンボルが複数のモジュール間で共有されている場合は null を返します。

(継承元 ISymbol)
ContainingNamespace

INamespaceSymbol最も近い外側の名前空間の を取得します。 シンボルが名前空間に含まれていない場合は null を返します。

(継承元 ISymbol)
ContainingSymbol

ISymbolすぐに含まれるシンボルの を取得します。

(継承元 ISymbol)
ContainingType

INamedTypeSymbol格納している型の を取得します。 シンボルが型内に含まれていない場合は null を返します。

(継承元 ISymbol)
DeclaredAccessibility

シンボルの Accessibility 宣言されたアクセシビリティを示す を取得します。 アクセシビリティが宣言されていない場合は NotApplicable を返します。

(継承元 ISymbol)
DeclaringSyntaxReferences

source でこのシンボルが宣言された構文ノードを取得します。 一部のシンボル (部分クラスなど) は、複数の場所で定義できます。 このプロパティは、シンボルがソース コードで宣言されていて、暗黙的に宣言されていない場合にのみ、1 つ以上の構文ノードを返す必要があります (IsImplicitlyDeclared プロパティを参照してください)。

名前空間シンボルの場合、宣言構文が入れ子になった名前空間を宣言している可能性があることに注意してください。 たとえば、"namespace N1" の N1 の宣言構文ノードです。N2 {...}" は、N1 の NamespaceDeclarationSyntax 全体です。N2。 グローバル名前空間の場合、宣言構文は CompilationUnitSyntax になります。

(継承元 ISymbol)
HasUnsupportedMetadata

このシンボルが、言語でサポートできないメタデータを使用することを示します。

以下に例を示します。

  • VB のポインター型
  • ByRef 戻り値の型
  • 必要なカスタム修飾子

これは、たとえば、参照されていないアセンブリで定義されているメタデータ シンボルへの参照とは区別されます。 これが true を返すシンボルは正常に使用できないため、IDE 機能には表示されません。

これは、次のようにメタデータ シンボルに設定されます。

  • 型 - 型がサポートされていない場合 (ポインター型など)
  • メソッド - パラメーターまたは戻り値の型がサポートされていません
  • フィールド - 型はサポートされていません
  • イベント - 型がサポートされていません
  • プロパティ - 型はサポートされていません
  • パラメーター - 型はサポートされていません
(継承元 ISymbol)
Interfaces

この型が直接実装するインターフェイスのセットを取得します。 このセットには、直接実装されたインターフェイスの基本インターフェイスであるインターフェイスは含まれません。 これには、型パラメーターの制約として宣言されたインターフェイスが含まれます。

IsAbstract

シンボルが抽象であるかどうかを示す値を取得します。

(継承元 ISymbol)
IsAnonymousType

これは匿名型 (匿名 VB デリゲートを含む) のシンボルです。

IsDefinition

シンボルが元の定義であるかどうかを示す値を取得します。 シンボルが別のシンボルから派生した場合は、型の置換によって false を返します。

(継承元 ISymbol)
IsExtern

シンボルが外部で定義されているかどうかを示す値を取得します。

(継承元 ISymbol)
IsImplicitlyDeclared

このシンボルがコンパイラによって自動的に作成され、明示的な対応するソース コード宣言がない場合は true を返します。

(継承元 ISymbol)
IsNamespace

このシンボルが名前空間の場合は true を返します。 名前空間でない場合は、型である必要があります。

(継承元 INamespaceOrTypeSymbol)
IsNativeIntegerType

True の場合、型がネイティブ整数を表します。 C# では、言語キーワード 'nint' と 'nuint' で表される型。

IsOverride

シンボルが基底クラスシンボルのオーバーライドであるかどうかを示す値を取得します。

(継承元 ISymbol)
IsReadOnly

型が読み取り時のみである場合は True。

IsRecord

ソース シンボルの場合、型がレコードの場合は true。 メタデータ シンボルの場合、型がレコードと参照型の場合は true。

IsReferenceType

True を指定すると、この型は参照型と見なされます。 と の両方が true を返すIsReferenceTypeIsValueType場合は決してありません。 ただし、制約のない型パラメーターの場合、 IsReferenceTypeIsValueType はどちらも false を返します。

IsRefLikeType

True の場合、型が ref に似ています。つまり、CLR by-ref 変数と同様の規則に従います。 False 型が ref-like でない場合、または言語に ref-like 型の概念がない場合。

IsSealed

シンボルがシールされているかどうかを示す値を取得します。

(継承元 ISymbol)
IsStatic

シンボルが静的かどうかを示す値を取得します。

(継承元 ISymbol)
IsTupleType

これはタプル のシンボルです。

IsType

このシンボルが型の場合は true を返します。 型でない場合は、名前空間である必要があります。

(継承元 INamespaceOrTypeSymbol)
IsUnmanagedType

True を指定すると、言語ルールに従って型がアンマネージドになります。 False を指定すると、マネージド型または言語にアンマネージド型の概念がない場合に発生します。

IsValueType

True の場合、この型が値型であることがわかっています。 と の両方が true を返すIsReferenceTypeIsValueType場合は決してありません。 ただし、制約のない型パラメーターの場合、 IsReferenceTypeIsValueType はどちらも false を返します。

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 存在しない場合は 。

OriginalDefinition

このシンボルの元の定義。 このシンボルが型置換によって別のシンボルから構築されている場合は、 OriginalDefinition ソースまたはメタデータで定義された元のシンボルを取得します。

SpecialType

などの Object特定の "特殊" 型を識別する列挙値。 型が None 特殊でない場合は を返します。

TypeKind

この型が配列、ポインター、列挙型であるかどうかを識別する列挙値。

メソッド

Accept(SymbolVisitor)

型を表します。

(継承元 ISymbol)
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

型を表します。

(継承元 ISymbol)
Accept<TResult>(SymbolVisitor<TResult>)

型を表します。

(継承元 ISymbol)
Equals(ISymbol, SymbolEqualityComparer)

指定された の規則に従って、このシンボルが別のシンボルと等しいかどうかを判断します。 SymbolEqualityComparer

(継承元 ISymbol)
FindImplementationForInterfaceMember(ISymbol)

この型の対応するシンボル、または interfaceMember を実装する基本型 (暗黙的または明示的) を返します。このようなシンボルが存在しない場合は null を返します (これは、この型が interfaceMember のコンテナーを実装していないか、この型が interfaceMember を正常に実装するメンバーを提供していない可能性があります)。

GetAttributes()

シンボルの属性を取得します。 属性がない場合は空 IEnumerable<T> の を返します。

(継承元 ISymbol)
GetDocumentationCommentId()

シンボルのドキュメント コメント ID を返します。シンボルがドキュメント コメントをサポートしていない場合は null を返します。

(継承元 ISymbol)
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

シンボルに関連付けられたコメントの XML (テキストとして) を取得します。

(継承元 ISymbol)
GetMembers()

このシンボルのすべてのメンバーを取得します。

(継承元 INamespaceOrTypeSymbol)
GetMembers(String)

特定の名前を持つこのシンボルのすべてのメンバーを取得します。

(継承元 INamespaceOrTypeSymbol)
GetTypeMembers()

型であるこのシンボルのすべてのメンバーを取得します。

(継承元 INamespaceOrTypeSymbol)
GetTypeMembers(String)

特定の名前を持つ任意のアリティを持つ型である、このシンボルのすべてのメンバーを取得します。

(継承元 INamespaceOrTypeSymbol)
GetTypeMembers(String, Int32)

特定の名前とアリティを持つ型であるこのシンボルのすべてのメンバーを取得します

(継承元 INamespaceOrTypeSymbol)
ToDisplayParts(NullableFlowState, SymbolDisplayFormat)

シンボルを文字列部分の配列に変換します。各部分には種類があります。 表示文字列を色分けする場合に便利です。

ToDisplayParts(SymbolDisplayFormat)

シンボルを文字列部分の配列に変換します。各部分には種類があります。 表示文字列を色分けする場合に便利です。

(継承元 ISymbol)
ToDisplayString(NullableFlowState, SymbolDisplayFormat)

ITypeSymbolおよび null 許容フロー状態を文字列表現に変換します。

ToDisplayString(SymbolDisplayFormat)

シンボルを文字列形式に変換します。

(継承元 ISymbol)
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

シンボルを文字列部分の配列に変換します。各部分には種類があります。 ソース コード内の特定の場所に合わせて調整できます。 表示文字列を色分けする場合に便利です。

(継承元 ISymbol)
ToMinimalDisplayParts(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

シンボルを文字列部分の配列に変換します。各部分には種類があります。 ソース コード内の特定の場所に合わせて調整できます。 表示文字列を色分けする場合に便利です。

ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

記号を、ユーザーに表示できる文字列に変換します。 ソース コード内の特定の場所に合わせて調整できます。

(継承元 ISymbol)
ToMinimalDisplayString(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

シンボルを、ユーザーに表示できる文字列に変換します。 ソース コード内の特定の場所に合わせて調整できます。

WithNullableAnnotation(NullableAnnotation)

指定された null 許容注釈を使用して、この型と同じ型を返します。

拡張メソッド

IsMustOverride(ISymbol)

型を表します。

IsNotOverridable(ISymbol)

型を表します。

IsOverridable(ISymbol)

型を表します。

IsOverrides(ISymbol)

型を表します。

IsShared(ISymbol)

シンボルが Shared かどうかを判断します。

適用対象