Bagikan melalui


ISymbol Antarmuka

Definisi

Mewakili simbol (namespace, kelas, metode, parameter, dll.) yang diekspos oleh pengkompilasi.

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)
Turunan
Penerapan

Keterangan

Antarmuka ini disediakan untuk implementasi oleh API terkait. Kami berhak mengubahnya di masa mendatang.

Properti

CanBeReferencedByName

Mengembalikan true jika simbol ini dapat dirujuk dengan namanya dalam kode.

ContainingAssembly

IAssemblySymbol Mendapatkan untuk rakitan yang berisi. Mengembalikan null jika simbol dibagikan di beberapa rakitan.

ContainingModule

IModuleSymbol Mendapatkan untuk modul yang berisi. Mengembalikan null jika simbol dibagikan di beberapa modul.

ContainingNamespace

INamespaceSymbol Mendapatkan untuk namespace lampiran terdekat. Mengembalikan null jika simbol tidak terkandung dalam namespace.

ContainingSymbol

ISymbol Mendapatkan untuk simbol yang segera berisi.

ContainingType

INamedTypeSymbol Mendapatkan untuk jenis yang berisi. Mengembalikan null jika simbol tidak terkandung dalam tipe.

DeclaredAccessibility

Mendapatkan indikasi Accessibility aksesibilitas yang dideklarasikan untuk simbol tersebut. Mengembalikan NotApplicable jika tidak ada aksesibilitas yang dinyatakan.

DeclaringSyntaxReferences

Dapatkan simpul sintaks di mana simbol ini dideklarasikan dalam sumber. Beberapa simbol (misalnya, kelas parsial) dapat didefinisikan di lebih dari satu lokasi. Properti ini harus mengembalikan satu atau beberapa simpul sintaksis hanya jika simbol dideklarasikan dalam kode sumber dan juga tidak dideklarasikan secara implisit (lihat properti IsImplicitlyDeclared).

Perhatikan bahwa untuk simbol namespace, sintaks yang mendeklarasikan mungkin mendeklarasikan namespace berlapis. Misalnya, simpul sintaks yang mendeklarasikan untuk N1 di "namespace N1. N2 {...}" adalah seluruh NamespaceDeclarationSyntax untuk N1. N2. Untuk namespace layanan global, sintaks yang mendeklarasikan akan menjadi CompilationUnitSyntax.

HasUnsupportedMetadata

Menunjukkan bahwa simbol ini menggunakan metadata yang tidak dapat didukung oleh bahasa.

Contoh meliputi:

  • Jenis penunjuk di VB
  • Tipe pengembalian ByRef
  • Pengubah kustom yang diperlukan

Ini dibedakan dari, misalnya, referensi ke simbol metadata yang didefinisikan dalam rakitan yang tidak direferensikan. Simbol di mana ini mengembalikan true tidak pernah berhasil digunakan, dan dengan demikian tidak boleh muncul di fitur IDE apa pun.

Ini diatur untuk simbol metadata, sebagai berikut:

  • Jenis - jika jenis tidak didukung (misalnya, jenis penunjuk)
  • Metode - parameter atau jenis pengembalian tidak didukung
  • Bidang - tipe tidak didukung
  • Peristiwa - jenis tidak didukung
  • Properti - jenis tidak didukung
  • Parameter - jenis tidak didukung

IsAbstract

Mendapatkan nilai yang menunjukkan apakah simbol tersebut abstrak.

IsDefinition

Mendapatkan nilai yang menunjukkan apakah simbol adalah definisi asli. Mengembalikan false jika simbol berasal dari simbol lain, berdasarkan jenis substitusi misalnya.

IsExtern

Mendapatkan nilai yang menunjukkan apakah simbol didefinisikan secara eksternal.

IsImplicitlyDeclared

Mengembalikan true jika simbol ini secara otomatis dibuat oleh pengkompilasi, dan tidak memiliki deklarasi kode sumber yang sesuai secara eksplisit.

IsOverride

Mendapatkan nilai yang menunjukkan apakah simbol adalah penimpaan simbol kelas dasar.

IsSealed

Mendapatkan nilai yang menunjukkan apakah simbol disegel.

IsStatic

Mendapatkan nilai yang menunjukkan apakah simbol statis.

IsVirtual

Mendapatkan nilai yang menunjukkan apakah simbol tersebut virtual.

Kind

SymbolKind Mendapat indikasi simbol seperti apa itu.

Language

Mendapatkan bahasa sumber ("C#" atau "Visual Basic").

Locations

Mendapatkan lokasi di mana simbol awalnya ditentukan, baik di sumber atau metadata. Beberapa simbol (misalnya, kelas parsial) dapat didefinisikan di lebih dari satu lokasi.

MetadataName

Mendapatkan nama simbol seperti yang muncul dalam metadata. Sebagian besar waktu, ini sama dengan properti Nama, dengan pengecualian berikut:

  1. Nama metadata jenis generik mencakup akhiran "'1", "'2" dll yang menunjukkan jumlah parameter jenis (tidak termasuk, namun, nama yang berisi jenis atau namespace).
  2. Nama metadata nama antarmuka eksplisit memiliki spasi yang dihapus, dibandingkan dengan properti nama.
  3. Panjang nama dibatasi untuk tidak melebihi batasan metadata.
MetadataToken

Mendapatkan token metadata yang terkait dengan simbol ini, atau 0 jika simbol tidak dimuat dari metadata.

Name

Mendapatkan nama simbol. Mengembalikan string kosong jika tidak disebutkan namanya.

OriginalDefinition

ISymbol Mendapatkan untuk definisi asli simbol. Jika simbol ini berasal dari simbol lain, berdasarkan jenis substitusi misalnya, ini mendapatkan simbol asli, seperti yang didefinisikan dalam sumber atau metadata.

Metode

Accept(SymbolVisitor)

Mewakili simbol (namespace, kelas, metode, parameter, dll.) yang diekspos oleh pengkompilasi.

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

Mewakili simbol (namespace, kelas, metode, parameter, dll.) yang diekspos oleh pengkompilasi.

Accept<TResult>(SymbolVisitor<TResult>)

Mewakili simbol (namespace, kelas, metode, parameter, dll.) yang diekspos oleh pengkompilasi.

Equals(ISymbol, SymbolEqualityComparer)

Menentukan apakah simbol ini sama dengan simbol lain, sesuai dengan aturan yang disediakan SymbolEqualityComparer

GetAttributes()

Mendapatkan atribut untuk simbol . Mengembalikan kosong IEnumerable<T> jika tidak ada atribut.

GetDocumentationCommentId()

Mengembalikan ID Komentar Dokumentasi untuk simbol, atau null jika simbol tidak mendukung komentar dokumentasi.

GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

Mendapatkan XML (sebagai teks) untuk komentar yang terkait dengan simbol .

ToDisplayParts(SymbolDisplayFormat)

Mengonversi simbol menjadi array bagian string, yang masing-masing memiliki jenis. Berguna untuk mewarnai string tampilan.

ToDisplayString(SymbolDisplayFormat)

Mengonversi simbol menjadi representasi string.

ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

Mengonversi simbol menjadi array bagian string, yang masing-masing memiliki jenis. Dapat disesuaikan dengan lokasi tertentu dalam kode sumber. Berguna untuk mewarnai string tampilan.

ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

Mengonversi simbol menjadi string yang dapat ditampilkan kepada pengguna. Dapat disesuaikan dengan lokasi tertentu dalam kode sumber.

Metode Ekstensi

IsMustOverride(ISymbol)

Mewakili simbol (namespace, kelas, metode, parameter, dll.) yang diekspos oleh pengkompilasi.

IsNotOverridable(ISymbol)

Mewakili simbol (namespace, kelas, metode, parameter, dll.) yang diekspos oleh pengkompilasi.

IsOverridable(ISymbol)

Mewakili simbol (namespace, kelas, metode, parameter, dll.) yang diekspos oleh pengkompilasi.

IsOverrides(ISymbol)

Mewakili simbol (namespace, kelas, metode, parameter, dll.) yang diekspos oleh pengkompilasi.

IsShared(ISymbol)

Menentukan apakah simbol dibagikan.

Berlaku untuk