ISymbol 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컴파일러에서 노출하는 기호(네임스페이스, 클래스, 메서드, 매개 변수 등)를 나타냅니다.
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 즉시 포함하는 기호에 대한 값을 가져옵니다. |
ContainingType |
INamedTypeSymbol 포함하는 형식의 값을 가져옵니다. 형식 내에 기호가 포함되어 있지 않으면 null을 반환합니다. |
DeclaredAccessibility |
기호에 Accessibility 대해 선언된 접근성을 나타내는 값을 가져옵니다. 접근성이 선언되지 않은 경우 NotApplicable을 반환합니다. |
DeclaringSyntaxReferences |
이 기호가 원본에서 선언된 구문 노드를 가져옵니다. 일부 기호(예: 부분 클래스)는 둘 이상의 위치에 정의될 수 있습니다. 이 속성은 기호가 소스 코드에서 선언되고 암시적으로 선언되지 않은 경우에만 하나 이상의 구문 노드를 반환해야 합니다(IsImplicitlyDeclared 속성 참조). 네임스페이스 기호의 경우 선언 구문이 중첩된 네임스페이스를 선언하는 것일 수 있습니다. 예를 들어 N1에 대한 선언 구문 노드는 "네임스페이스 N1입니다. N2 {...}" 는 N1에 대한 전체 NamespaceDeclarationSyntax입니다. N2. 전역 네임스페이스의 경우 선언 구문은 CompilationUnitSyntax입니다. |
HasUnsupportedMetadata |
이 기호가 언어에서 지원될 수 없는 메타데이터를 사용한다는 것을 나타냅니다. 다음은 이러한 템플릿의 예입니다.
예를 들어 참조되지 않은 어셈블리에 정의된 메타데이터 기호에 대한 참조와 구별됩니다. true를 반환하는 기호는 성공적으로 사용할 수 없으므로 IDE 기능에 표시되지 않아야 합니다. 메타데이터 기호에 대해 다음과 같이 설정됩니다.
|
IsAbstract |
기호가 추상인지 여부를 나타내는 값을 가져옵니다. |
IsDefinition |
기호가 원래 정의인지 여부를 나타내는 값을 가져옵니다. 기호가 다른 기호에서 파생된 경우 예를 들어 형식 대체에 따라 false를 반환합니다. |
IsExtern |
기호가 외부에서 정의되는지 여부를 나타내는 값을 가져옵니다. |
IsImplicitlyDeclared |
이 기호가 컴파일러에 의해 자동으로 만들어졌으며 명시적 해당 소스 코드 선언이 없는 경우 true를 반환합니다. |
IsOverride |
기호가 기본 클래스 기호의 재정의인지 여부를 나타내는 값을 가져옵니다. |
IsSealed |
기호가 봉인되었는지 여부를 나타내는 값을 가져옵니다. |
IsStatic |
기호가 정적인지 여부를 나타내는 값을 가져옵니다. |
IsVirtual |
기호가 가상인지 여부를 나타내는 값을 가져옵니다. |
Kind |
기호의 SymbolKind 종류를 나타내는 값을 가져옵니다. |
Language |
원본 언어("C#" 또는 "Visual Basic")를 가져옵니다. |
Locations |
원본 또는 메타데이터에서 기호가 원래 정의된 위치를 가져옵니다. 일부 기호(예: 부분 클래스)는 둘 이상의 위치에 정의될 수 있습니다. |
MetadataName |
메타데이터에 표시되는 기호의 이름을 가져옵니다. 대부분의 경우 다음 예외를 제외하고 Name 속성과 동일합니다.
|
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) |
기호가 공유인지 여부를 확인합니다. |
적용 대상
.NET