![]() | ISymbol Interface |
Namespace: Microsoft.CodeAnalysis
The ISymbol type exposes the following members.
Name | Description | |
---|---|---|
![]() | CanBeReferencedByName |
Returns true if this symbol can be referenced by its name in code.
|
![]() | ContainingAssembly |
Gets the IAssemblySymbol for the containing assembly. Returns null if the
symbol is shared across multiple assemblies.
|
![]() | ContainingModule |
Gets the IModuleSymbol for the containing module. Returns null if the
symbol is shared across multiple modules.
|
![]() | ContainingNamespace |
Gets the INamespaceSymbol for the nearest enclosing namespace. Returns null if the
symbol isn't contained in a namespace.
|
![]() | ContainingSymbol |
Gets the ISymbol for the immediately containing symbol.
|
![]() | ContainingType |
Gets the INamedTypeSymbol for the containing type. Returns null if the
symbol is not contained within a type.
|
![]() | DeclaredAccessibility |
Gets a Accessibility indicating the declared accessibility for the symbol.
Returns NotApplicable if no accessibility is declared.
|
![]() | DeclaringSyntaxReferences |
Get the syntax node(s) where this symbol was declared in source. Some symbols (for example,
partial classes) may be defined in more than one location. This property should return
one or more syntax nodes only if the symbol was declared in source code and also was
not implicitly declared (see the IsImplicitlyDeclared property).
Note that for namespace symbol, the declaring syntax might be declaring a nested namespace.
For example, the declaring syntax node for N1 in "namespace N1.N2 {...}" is the entire
NamespaceDeclarationSyntax for N1.N2. For the global namespace, the declaring syntax will
be the CompilationUnitSyntax.
|
![]() | HasUnsupportedMetadata |
Indicates that this symbol uses metadata that cannot be supported by the language.
Examples include:
- Pointer types in VB
- ByRef return type
- Required custom modifiers
This is distinguished from, for example, references to metadata symbols defined in assemblies that weren't referenced.
Symbols where this returns true can never be used successfully, and thus should never appear in any IDE feature.
This is set for metadata symbols, as follows:
Type - if a type is unsupported (e.g., a pointer type, etc.)
Method - parameter or return type is unsupported
Field - type is unsupported
Event - type is unsupported
Property - type is unsupported
Parameter - type is unsupported
|
![]() | IsAbstract |
Gets a value indicating whether the symbol is abstract.
|
![]() | IsDefinition |
Gets a value indicating whether the symbol is the original definition. Returns false
if the symbol is derived from another symbol, by type substitution for instance.
|
![]() | IsExtern |
Gets a value indicating whether the symbol is defined externally.
|
![]() | IsImplicitlyDeclared |
Returns true if this symbol was automatically created by the compiler, and does not have
an explicit corresponding source code declaration.
|
![]() | IsOverride |
Gets a value indicating whether the symbol is an override of a base class symbol.
|
![]() | IsSealed |
Gets a value indicating whether the symbol is sealed.
|
![]() | IsStatic |
Gets a value indicating whether the symbol is static.
|
![]() | IsVirtual |
Gets a value indicating whether the symbol is virtual.
|
![]() | Kind |
Gets the SymbolKind indicating what kind of symbol it is.
|
![]() | Language |
Gets the source language ("C#" or "Visual Basic").
|
![]() | Locations |
Gets the locations where the symbol was originally defined, either in source or
metadata. Some symbols (for example, partial classes) may be defined in more than one
location.
|
![]() | MetadataName |
Gets the name of a symbol as it appears in metadata. Most of the time, this
is the same as the Name property, with the following exceptions:
1) The metadata name of generic types includes the "`1", "`2" etc. suffix that
indicates the number of type parameters (it does not include, however, names of
containing types or namespaces).
2) The metadata name of explicit interface names have spaces removed, compared to
the name property.
3) The length of names is limited to not exceed metadata restrictions.
|
![]() | Name |
Gets the symbol name. Returns the empty string if unnamed.
|
![]() | OriginalDefinition |
Gets the ISymbol for the original definition of the symbol.
If this symbol is derived from another symbol, by type substitution for instance,
this gets the original symbol, as it was defined in source or metadata.
|
Name | Description | |
---|---|---|
![]() | Accept(SymbolVisitor) | |
![]() | AcceptTResult(SymbolVisitorTResult) | |
![]() | GetAttributes |
Gets the attributes for the symbol. Returns an empty IEnumerableT
if there are no attributes.
|
![]() | GetDocumentationCommentId |
Returns the Documentation Comment ID for the symbol, or null if the symbol doesn't
support documentation comments.
|
![]() | GetDocumentationCommentXml |
Gets the XML (as text) for the comment associated with the symbol.
|
![]() | ToDisplayParts |
Convert a symbol to an array of string parts, each of which has a kind. Useful for
colorizing the display string.
|
![]() | ToDisplayString |
Converts the symbol to a string representation.
|
![]() | ToMinimalDisplayParts |
Convert a symbol to an array of string parts, each of which has a kind. May be tailored
to a specific location in the source code. Useful for colorizing the display string.
|
![]() | ToMinimalDisplayString |
Convert a symbol to a string that can be displayed to the user. May be tailored to a
specific location in the source code.
|
Name | Description | |
---|---|---|
![]() | GetRootOperation | (Defined by OperationExtensions.) |
![]() | IsMustOverride | (Defined by VisualBasicExtensions.) |
![]() | IsNotOverridable | (Defined by VisualBasicExtensions.) |
![]() | IsOverridable | (Defined by VisualBasicExtensions.) |
![]() | IsOverrides | (Defined by VisualBasicExtensions.) |
![]() | IsShared |
Determines if symbol is Shared.
(Defined by VisualBasicExtensions.) |