IMethodSymbol Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa).
public interface class IMethodSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ISymbol
public interface IMethodSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ISymbol
type IMethodSymbol = interface
interface ISymbol
interface IEquatable<ISymbol>
Public Interface IMethodSymbol
Implements IEquatable(Of ISymbol), ISymbol
- Penerapan
Keterangan
Antarmuka ini dicadangkan untuk implementasi oleh API terkait. Kami berhak mengubahnya di masa mendatang.
Properti
| Nama | Deskripsi |
|---|---|
| Arity |
Mengembalikan aritas metode ini. Arity adalah jumlah parameter jenis yang dideklarasikan oleh metode. Metode non-generik memiliki aritas nol. |
| AssociatedAnonymousDelegate |
Jika metode ini adalah metode Lambda (MethodKind = MethodKind.LambdaMethod) dan ada delegasi anonim yang terkait dengannya, mengembalikan delegasi ini. Mengembalikan null jika simbol bukan lambda atau jika tidak memiliki delegasi anonim yang terkait dengannya. |
| AssociatedExtensionImplementation |
Untuk metode/aksesor/operator dalam blok ekstensi, mengembalikan metode implementasi yang sesuai jika ada. Mengembalikan null jika tidak. Misalnya, mempertimbangkan:
Ketika diberikan simbol metode untuk Ketika diberi definisi anggota ekstensi generik, ia mengembalikan metode implementasi yang dibangun dengan parameter jenis anggota ekstensi. |
| AssociatedSymbol |
Mengembalikan simbol (misalnya properti, peristiwa, dll.) yang terkait dengan metode . |
| CallingConvention |
Enum konvensi pemanggilan simbol metode. |
| CanBeReferencedByName |
Mengembalikan true jika simbol ini dapat dirujuk dengan namanya dalam kode. (Diperoleh dari ISymbol) |
| ConstructedFrom |
Mengembalikan simbol metode tempat metode ini dibangun. Simbol metode yang dihasilkan memiliki jenis yang sama yang berisi (jika ada), tetapi memiliki argumen jenis yang sama dengan parameter jenis (meskipun jenis yang berisi mungkin tidak). |
| ContainingAssembly |
IAssemblySymbol Mendapatkan untuk rakitan yang berisi. Mengembalikan null jika simbol dibagikan di beberapa rakitan. (Diperoleh dari ISymbol) |
| ContainingModule |
IModuleSymbol Mendapatkan untuk modul yang berisi. Mengembalikan null jika simbol dibagikan di beberapa modul. (Diperoleh dari ISymbol) |
| ContainingNamespace |
INamespaceSymbol Mendapatkan untuk namespace lampiran terdekat. Mengembalikan null jika simbol tidak terkandung dalam namespace. (Diperoleh dari ISymbol) |
| ContainingSymbol |
ISymbol Mendapatkan untuk simbol yang segera berisi. (Diperoleh dari ISymbol) |
| ContainingType |
INamedTypeSymbol Mendapatkan untuk jenis yang berisi. Mengembalikan null jika simbol tidak terkandung dalam jenis. (Diperoleh dari ISymbol) |
| DeclaredAccessibility |
Accessibility Mendapatkan indikasi aksesibilitas yang dinyatakan untuk simbol tersebut. Mengembalikan NotApplicable jika tidak ada aksesibilitas yang dideklarasikan. (Diperoleh dari ISymbol) |
| DeclaringSyntaxReferences |
Dapatkan simpul sintaks di mana simbol ini dideklarasikan dalam sumber. Beberapa simbol (misalnya, jenis parsial seperti kelas, struct, dan antarmuka) 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 anggota parsial (metode, properti, peristiwa), properti ini hanya mengembalikan satu simpul sintaks. Untuk mendapatkan semua simpul sintaks untuk anggota parsial, gunakan Perhatikan bahwa untuk simbol namespace, sintaks deklarasikan mungkin mendeklarasikan namespace berlapis. Misalnya, node sintaks yang mendeklarasikan untuk N1 di "namespace N1. N2 {...}" adalah seluruh NamespaceDeclarationSyntax untuk N1. N2. Untuk namespace global, sintaks yang mendeklarasikan akan menjadi CompilationUnitSyntax. (Diperoleh dari ISymbol) |
| ExplicitInterfaceImplementations |
Mengembalikan metode antarmuka yang secara eksplisit diimplementasikan oleh metode ini. |
| HasUnsupportedMetadata |
Menunjukkan bahwa simbol ini menggunakan metadata yang tidak dapat didukung oleh bahasa. Contohnya meliputi:
Ini dibedakan dari, misalnya, referensi ke simbol metadata yang ditentukan 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:
|
| HidesBaseMethodsByName |
Mengembalikan true jika metode ini menyembunyikan metode dasar berdasarkan nama. Ini tidak dapat ditentukan langsung dalam bahasa C#, tetapi dapat berlaku untuk metode yang ditentukan dalam bahasa lain yang diimpor dari metadata. Setara dengan bendera "hidebyname" dalam metadata. |
| IsAbstract |
Mendapatkan nilai yang menunjukkan apakah simbol abstrak. (Diperoleh dari ISymbol) |
| IsAsync |
Mengembalikan true jika metode ini adalah metode asinkron |
| IsCheckedBuiltin |
Mengembalikan apakah operator bawaan ini memeriksa luapan bilangan bulat. |
| IsConditional |
Mengembalikan bendera yang menunjukkan apakah simbol ini memiliki setidaknya satu atribut kondisional yang diterapkan/diwariskan. |
| IsDefinition |
Mendapatkan nilai yang menunjukkan apakah simbol adalah definisi asli. Mengembalikan false jika simbol berasal dari simbol lain, berdasarkan jenis substitusi misalnya. (Diperoleh dari ISymbol) |
| IsExtensionMethod |
Mengembalikan true jika metode ini adalah metode ekstensi "klasik" (menggunakan pengubah |
| IsExtern |
Mendapatkan nilai yang menunjukkan apakah simbol didefinisikan secara eksternal. (Diperoleh dari ISymbol) |
| IsGenericMethod |
Mengembalikan apakah metode ini generik; yaitu, apakah ia memiliki parameter jenis apa pun? |
| IsImplicitlyDeclared |
Mengembalikan true jika simbol ini secara otomatis dibuat oleh pengkompilasi, dan tidak memiliki deklarasi kode sumber yang sesuai secara eksplisit. (Diperoleh dari ISymbol) |
| IsInitOnly |
Mengembalikan true untuk aksesor set 'init', dan false jika tidak. |
| IsIterator |
Mengembalikan |
| IsOverride |
Mendapatkan nilai yang menunjukkan apakah simbol adalah penimpaan simbol kelas dasar. (Diperoleh dari ISymbol) |
| IsPartialDefinition |
Mengembalikan true jika ini adalah definisi metode parsial tanpa isi. Jika ada isi yang mengimplementasikan, itu dapat diambil dengan PartialImplementationPart. |
| IsReadOnly |
Menunjukkan apakah metode tersebut baca-saja, yaitu apakah parameter penerima 'ini' adalah 'ref readonly'. Mengembalikan true untuk metode instans readonly dan aksesor dan untuk metode ekstensi yang dikurangi dengan parameter 'this in'. |
| IsSealed |
Mendapatkan nilai yang menunjukkan apakah simbol disegel. (Diperoleh dari ISymbol) |
| IsStatic |
Mendapatkan nilai yang menunjukkan apakah simbol statis. (Diperoleh dari ISymbol) |
| IsVararg |
Mengembalikan apakah metode ini menggunakan konvensi panggilan CLI VARARG. Ini digunakan untuk daftar argumen variabel gaya C. Ini jarang digunakan dalam kode C# dan diwakili menggunakan kata kunci "__arglist" yang tidak terdokumentasi. Perhatikan bahwa metode dengan "param" pada parameter terakhir ditunjukkan dengan properti "IsParams" pada ParameterSymbol, dan tidak diwakili dengan properti ini. |
| IsVirtual |
Mendapatkan nilai yang menunjukkan apakah simbol tersebut virtual. (Diperoleh dari ISymbol) |
| Kind |
SymbolKind Mendapat indikasi simbol seperti apa itu. (Diperoleh dari ISymbol) |
| Language |
Mendapatkan bahasa sumber ("C#" atau "Visual Basic"). (Diperoleh dari ISymbol) |
| Locations |
Mendapatkan lokasi di mana simbol awalnya ditentukan, baik di sumber atau metadata. Beberapa simbol (misalnya, jenis parsial seperti kelas, struct, dan antarmuka) dapat didefinisikan di lebih dari satu lokasi. Perhatikan bahwa untuk anggota parsial (seperti metode, properti, dan peristiwa), properti ini hanya mengembalikan satu lokasi. Untuk mendapatkan semua lokasi untuk anggota parsial, gunakan |
| MetadataName |
Mendapatkan nama simbol seperti yang muncul dalam metadata. Sebagian besar waktu, ini sama dengan properti Nama, dengan pengecualian berikut:
|
| MetadataToken |
Mendapatkan token metadata yang terkait dengan simbol ini, atau 0 jika simbol tidak dimuat dari metadata. (Diperoleh dari ISymbol) |
| MethodImplementationFlags |
Mengembalikan bendera implementasi untuk simbol metode yang diberikan. |
| MethodKind |
Mendapatkan metode seperti apa ini. Ada beberapa jenis hal yang berbeda dalam bahasa C# yang diwakili sebagai metode. Properti ini memungkinkan membedakan hal-hal tersebut tanpa harus mendekode nama metode. |
| Name |
Mendapatkan nama simbol. Mengembalikan string kosong jika tidak disebutkan namanya. (Diperoleh dari ISymbol) |
| OriginalDefinition |
Dapatkan definisi asli dari simbol ini. Jika simbol ini berasal dari simbol lain dengan substitusi jenis (misalnya), ini mendapatkan simbol asli, seperti yang didefinisikan dalam sumber atau metadata. |
| OverriddenMethod |
Jika metode ini mengambil alih metode lain (karena keduanya memiliki pengubah penimpaan dan dengan benar ada metode untuk mengambil alih), mengembalikan metode yang ditimpa. |
| Parameters |
Mendapatkan parameter metode ini. Jika metode ini tidak memiliki parameter, mengembalikan daftar kosong. |
| PartialDefinitionPart |
Jika ini adalah bagian implementasi metode parsial, mengembalikan bagian definisi yang sesuai. Jika tidak, null. |
| PartialImplementationPart |
Jika ini adalah deklarasi metode parsial tanpa isi, dan metode diimplementasikan dengan isi, mengembalikan definisi penerapan tersebut. Jika tidak, null. |
| ReceiverNullableAnnotation |
Jika metode ini dapat diterapkan ke objek, mengembalikan nullability tingkat atas objek yang diterapkannya. |
| ReceiverType |
Jika metode ini dapat diterapkan ke objek, mengembalikan jenis objek yang diterapkannya. |
| ReducedFrom |
Jika metode ini adalah metode ekstensi yang dikurangi, mengembalikan definisi metode ekstensi dari mana ini dikurangi. Jika tidak, mengembalikan null. |
| RefCustomModifiers |
Pengubah kustom yang terkait dengan pengubah ref, atau array kosong jika tidak ada. |
| RefKind |
Mengembalikan RefKind dari metode . |
| ReturnNullableAnnotation |
Mendapatkan nullability tingkat atas dari jenis pengembalian metode. |
| ReturnsByRef |
Mengembalikan true jika metode ini dikembalikan berdasarkan referensi. |
| ReturnsByRefReadonly |
Mengembalikan true jika metode ini dikembalikan oleh ref readonly. |
| ReturnsVoid |
Mengembalikan true jika metode ini tidak memiliki jenis pengembalian; yaitu, mengembalikan "void". |
| ReturnType |
Mendapatkan jenis pengembalian metode . |
| ReturnTypeCustomModifiers |
Mengembalikan daftar pengubah kustom, jika ada, yang terkait dengan jenis pengembalian. |
| TypeArgumentNullableAnnotations |
Mengembalikan nullability tingkat atas dari argumen jenis yang telah digantikan untuk parameter jenis. Jika tidak ada yang digantikan untuk parameter jenis tertentu, maka None dikembalikan. |
| TypeArguments |
Mengembalikan argumen jenis yang telah digantikan untuk parameter jenis. Jika tidak ada yang digantikan untuk parameter jenis tertentu, maka parameter jenis itu sendiri mempertimbangkan argumen jenis. |
| TypeArgumentsNullableAnnotations |
Mengembalikan nullability tingkat atas dari argumen jenis yang telah digantikan untuk parameter jenis. Jika tidak ada yang digantikan untuk parameter jenis tertentu, maka NotApplicable dikembalikan. |
| TypeParameters |
Dapatkan parameter jenis pada metode ini. Jika metode belum umum, mengembalikan daftar kosong. |
| UnmanagedCallingConventionTypes |
Jenis pengubah yang dianggap sebagai bagian dari konvensi panggilan metode ini, jika MethodKind adalah FunctionPointerSignature dan CallingConvention adalah Unmanaged. Jika ini bukan tanda tangan penunjuk fungsi atau konvensi panggilan tidak dikelola, ini adalah array kosong. Urutan dan duplikasi pengubah ini mencerminkan urutan sumber/metadata dan duplikasi, mana pun simbol ini berasal. |
Metode
| Nama | Deskripsi |
|---|---|
| Accept(SymbolVisitor) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). (Diperoleh dari ISymbol) |
| Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). (Diperoleh dari ISymbol) |
| Accept<TResult>(SymbolVisitor<TResult>) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). (Diperoleh dari ISymbol) |
| Construct(ImmutableArray<ITypeSymbol>, ImmutableArray<NullableAnnotation>) |
Mengembalikan metode yang dibangun mengingat argumen jenisnya dan anotasi tipe argumen nullable. |
| Construct(ITypeSymbol[]) |
Mengembalikan metode yang dibangun mengingat argumen jenisnya. |
| Equals(ISymbol, SymbolEqualityComparer) |
Menentukan apakah simbol ini sama dengan simbol lain, sesuai dengan aturan yang disediakan SymbolEqualityComparer (Diperoleh dari ISymbol) |
| GetAttributes() |
Mendapatkan atribut untuk simbol . Mengembalikan kosong ImmutableArray<T> jika tidak ada atribut. (Diperoleh dari ISymbol) |
| GetDllImportData() |
Platform memanggil informasi, atau null jika metodenya bukan P/Invoke. |
| GetDocumentationCommentId() |
Mengembalikan ID Komentar Dokumentasi untuk simbol, atau null jika simbol tidak mendukung komentar dokumentasi. (Diperoleh dari ISymbol) |
| GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken) |
Mendapatkan XML (sebagai teks) untuk komentar yang terkait dengan simbol . (Diperoleh dari ISymbol) |
| GetReturnTypeAttributes() |
Mengembalikan daftar atribut kustom, jika ada, yang terkait dengan nilai yang dikembalikan. |
| GetTypeInferredDuringReduction(ITypeParameterSymbol) |
Jika metode ini adalah metode ekstensi yang dikurangi, mengembalikan jenis yang disimpulkan selama proses pengurangan untuk parameter jenis. |
| ReduceExtensionMember(ITypeSymbol) |
Jika ini adalah metode blok ekstensi yang dapat diterapkan ke penerima dari jenis yang diberikan, mengembalikan simbol metode dalam ekstensi pengganti untuk jenis penerima tersebut. Jika tidak, mengembalikan null. |
| ReduceExtensionMethod(ITypeSymbol) |
Jika ini adalah metode ekstensi yang dapat diterapkan ke penerima dari jenis yang diberikan, mengembalikan simbol metode ekstensi yang dikurangi sehingga terbentuk. Jika tidak, mengembalikan null. |
| ToDisplayParts(SymbolDisplayFormat) |
Konversi simbol menjadi array bagian string, yang masing-masing memiliki jenis. Berguna untuk mewarnai string tampilan. (Diperoleh dari ISymbol) |
| ToDisplayString(SymbolDisplayFormat) |
Mengonversi simbol menjadi representasi string. (Diperoleh dari ISymbol) |
| ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat) |
Konversi simbol menjadi array bagian string, yang masing-masing memiliki jenis. Dapat disesuaikan dengan lokasi tertentu dalam kode sumber. Berguna untuk mewarnai string tampilan. (Diperoleh dari ISymbol) |
| ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat) |
Mengonversi simbol menjadi string yang dapat ditampilkan kepada pengguna. Dapat disesuaikan dengan lokasi tertentu dalam kode sumber. (Diperoleh dari ISymbol) |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetConstructedReducedFrom(IMethodSymbol) |
Mengembalikan formulir yang dibangun dari properti ReducedFrom, termasuk argumen jenis yang disimpulkan selama pengurangan atau disediakan di situs panggilan. |
| HandledEvents(IMethodSymbol) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). |
| IsMustOverride(ISymbol) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). |
| IsNotOverridable(ISymbol) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). |
| IsOverloads(IMethodSymbol) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). |
| IsOverridable(ISymbol) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). |
| IsOverrides(ISymbol) |
Mewakili metode atau simbol seperti metode (termasuk konstruktor, destruktor, operator, atau aksesor properti/peristiwa). |
| IsShared(ISymbol) |
Menentukan apakah simbol Dibagikan. |