ISymbol インターフェイス

定義

コンパイラによって公開されるシンボル (名前空間、クラス、メソッド、パラメーターなど) を表します。

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

注釈

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

プロパティ

CanBeReferencedByName

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

ContainingAssembly

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

ContainingModule

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

ContainingNamespace

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

ContainingSymbol

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

ContainingType

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

DeclaredAccessibility

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

DeclaringSyntaxReferences

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

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

HasUnsupportedMetadata

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

たとえば、次のようになります。

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

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

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

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

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

IsDefinition

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

IsExtern

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

IsImplicitlyDeclared

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

IsOverride

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

IsSealed

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

IsStatic

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

IsVirtual

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

Kind

シンボルの SymbolKind 種類を示す値を取得します。

Language

ソース言語 ("C#" または "Visual Basic") を取得します。

Locations

ソースまたはメタデータのいずれかで、シンボルが最初に定義された場所を取得します。 一部のシンボル (部分クラスなど) は、複数の場所で定義できます。

MetadataName

メタデータに表示されるシンボルの名前を取得します。 ほとんどの場合、これは Name プロパティと同じですが、次の例外があります。

  1. ジェネリック型のメタデータ名には、型パラメーターの数を示す "'1"、"'2" などのサフィックスが含まれます (ただし、含まれる型または名前空間の名前は含まれません)。
  2. 明示的なインターフェイス名のメタデータ名には、name プロパティと比較してスペースが削除されています。
  3. 名前の長さは、メタデータの制限を超えないように制限されます。
MetadataToken

このシンボルに関連付けられているメタデータ トークンを取得します。シンボルがメタデータから読み込まれていない場合は 0 を取得します。

Name

シンボル名を取得します。 名前が付いていない場合は、空の文字列を返します。

OriginalDefinition

シンボルの ISymbol 元の定義の値を取得します。 このシンボルが別のシンボルから派生した場合、たとえば型の置換によって、ソースまたはメタデータで定義された元のシンボルが取得されます。

メソッド

Accept(SymbolVisitor)

コンパイラによって公開されるシンボル (名前空間、クラス、メソッド、パラメーターなど) を表します。

Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

コンパイラによって公開されるシンボル (名前空間、クラス、メソッド、パラメーターなど) を表します。

Accept<TResult>(SymbolVisitor<TResult>)

コンパイラによって公開されるシンボル (名前空間、クラス、メソッド、パラメーターなど) を表します。

Equals(ISymbol, SymbolEqualityComparer)

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

GetAttributes()

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

GetDocumentationCommentId()

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

GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

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

ToDisplayParts(SymbolDisplayFormat)

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

ToDisplayString(SymbolDisplayFormat)

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

ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

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

ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

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

拡張メソッド

IsMustOverride(ISymbol)

コンパイラによって公開されるシンボル (名前空間、クラス、メソッド、パラメーターなど) を表します。

IsNotOverridable(ISymbol)

コンパイラによって公開されるシンボル (名前空間、クラス、メソッド、パラメーターなど) を表します。

IsOverridable(ISymbol)

コンパイラによって公開されるシンボル (名前空間、クラス、メソッド、パラメーターなど) を表します。

IsOverrides(ISymbol)

コンパイラによって公開されるシンボル (名前空間、クラス、メソッド、パラメーターなど) を表します。

IsShared(ISymbol)

シンボルが Shared かどうかを決定します。

適用対象