다음을 통해 공유


CodeGenerationUtilities 클래스

코드 생성 템플릿에서 사용되는 유틸리티

상속 계층 구조

System.Object
  Microsoft.VisualStudio.Modeling.DslDefinition.CodeGenerationUtilities

네임스페이스:  Microsoft.VisualStudio.Modeling.DslDefinition
어셈블리:  Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0(Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0.dll)

구문

‘선언
Public NotInheritable Class CodeGenerationUtilities
public static class CodeGenerationUtilities

CodeGenerationUtilities 형식에서는 다음과 같은 멤버를 노출합니다.

메서드

  이름 설명
Public 메서드정적 멤버 AddSerializationResourceStrings 생성된 serializer에서 사용되는 리소스 문자열을 추가합니다.여기에 추가된 문자열은 지역화되는 resx 파일을 생성하는 데 사용되므로 지역화되지 않습니다.
Public 메서드정적 멤버 AllowMultiple 지정된 역할에서 복수 인스턴스를 허용할 경우 Multiplicity를 기준으로 가져옵니다.
Public 메서드정적 멤버 CalculateInheritanceDepth DomainClass가 지정되면 생성된 코드의 상속 깊이를 계산합니다(이중 파생 기본 클래스 고려)."지나친 상속성"에 대해 SuppressMessage 특성이 필요한지 여부를 결정하는 데 사용됩니다.
Public 메서드정적 멤버 CreateXmlNamespaceQualifiers dslLibrary 및 첫 번째 수준의 가져온 라이브러리에 대한 xmlNamespaceQualifiers를 만듭니다.
Public 메서드정적 멤버 DefinesDiagramElements 지정된 DslLibrary가 다이어그램 요소를 정의하면 true이고, 그렇지 않으면 false입니다.다이어그램 요소는 DslLibrary.DiagramElements에 포함된 요소와 다이어그램(정의된 경우)입니다.
Public 메서드정적 멤버 DefinesNewTargetRole 관계를 파생할 때 관계에서는 부모 관계와 같은 대상 역할 담당자를 사용하거나 부모 관계의 대상 역할 담당자에서 파생되는 새로운 관계를 정의할 수 있습니다.이 메서드는 지정된 DomainRelationship이 새 대상 역할 수행자를 정의하는지 여부를 알려줍니다.
Public 메서드정적 멤버 GenerateFontStyle 글꼴 스타일을 초기화하기 위한 올바른 구문을 만듭니다.
Public 메서드정적 멤버 GetAccessModifier 지정된 AccessModifier 열거형에 대한 C# 액세스 한정자 키워드를 가져옵니다.
Public 메서드정적 멤버 GetAttributeProperties XML 특성으로 serialize될 지정된 DomainClass에 정의된 모든 DomainProperties를 반환합니다.
Public 메서드정적 멤버 GetBaseClass 도메인 클래스의 기본 클래스를 선언하기 위한 문자열을 가져옵니다.기본 클래스가 정의되지 않은 경우 ModelElement가 사용됩니다.
Public 메서드정적 멤버 GetBaseDomainClass 제공된 클래스의 기본 도메인 클래스를 가져옵니다.
Public 메서드정적 멤버 GetBaseDomainClassMonikerSchemaTypeName 지정된 도메인 클래스의 기본 클래스에 대한 모니커 스키마 형식 이름을 가져옵니다.
Public 메서드정적 멤버 GetBaseDomainClassMonikerTagName 모니커로 serialize될 때 제공된 도메인 클래스의 기본 클래스에 대한 MonikerTagName을 가져옵니다.태그 이름은 모니커에 대해 같을 수 없습니다. 이 이름은 생성된 스키마 내 같은 요소에서 두 가지 정의를 필요로 하기 때문입니다."XmlClassData.MonikerElementName"을 사용하여 지정하지 않은 경우 사용되는 기본 이름은 모니커가 아닌 XmlTagName이고 뒤에 "Moniker"가 옵니다.
Public 메서드정적 멤버 GetBaseDomainClassSchemaTypeName 지정된 도메인 클래스의 기본 클래스에 대한 스키마 형식 이름을 가져옵니다.
Public 메서드정적 멤버 GetBaseDomainClassXmlTagName 제공된 도메인 클래스의 기본 클래스에 대한 XmlTagName을 가져옵니다.
Public 메서드정적 멤버 GetBasePropertyHandlerName 지정된 속성에 대한 PropertyHandler의 기본 클래스를 가져옵니다.계산된 속성인 경우 기본 클래스가 다릅니다.
Public 메서드정적 멤버 GetBaseRelationship 도메인 관계의 기본 관계를 선언하기 위한 문자열을 가져옵니다.기본 클래스가 정의되지 않은 경우 ElementLink가 사용됩니다.
Public 메서드정적 멤버 GetBaseRole 지정된 역할의 기본 역할을 가져옵니다(있는 경우).그렇지 않은 경우 null을 반환합니다.
Public 메서드정적 멤버 GetCamelCase 첫 번째 문자를 소문자로 바꿔 입력 문자열을 카멜식 소문자로 변환합니다.
Public 메서드정적 멤버 GetDesigner 지정된 DslLibrary에 정의된 Designer를 가져옵니다.
Public 메서드정적 멤버 GetDiagramElementForDecoratorMap 데코레이터 맵을 정의하는 셰이프나 연결선 맵과 관련된 다이어그램 요소를 가져옵니다.
Public 메서드정적 멤버 GetDomainClassMonikerSchemaTypeName 지정된 도메인 클래스에 대한 모니커 스키마 형식 이름을 가져옵니다.
Public 메서드정적 멤버 GetDomainClassMonikerTagName(DomainClass, String) 모니커로 serialize될 때 도메인 클래스의 MonikerTagName을 가져옵니다.태그 이름은 모니커에 대해 같을 수 없습니다. 이 이름은 생성된 스키마 내 같은 요소에서 두 가지 정의를 필요로 하기 때문입니다."XmlClassData.MonikerElementName"을 사용하여 지정하지 않은 경우 사용되는 기본 이름은 모니커가 아닌 XmlTagName이고 뒤에 "Moniker"가 옵니다.
Public 메서드정적 멤버 GetDomainClassMonikerTagName(DomainClass, String, Dictionary<DslLibrary, String>) 모니커로 serialize될 때 도메인 클래스의 MonikerTagName을 가져옵니다.태그 이름은 모니커에 대해 같을 수 없습니다. 이 이름은 생성된 스키마 내 같은 요소에서 두 가지 정의를 필요로 하기 때문입니다."XmlClassData.MonikerElementName"을 사용하여 지정하지 않은 경우 사용되는 기본 이름은 모니커가 아닌 XmlTagName이고 뒤에 "Moniker"가 옵니다.
Public 메서드정적 멤버 GetDomainClassSchemaTypeName 지정된 도메인 클래스에 대한 스키마 형식 이름을 가져옵니다.
Public 메서드정적 멤버 GetDomainClassXmlTagName(DomainClass, String) 도메인 클래스에 대한 XmlTagName을 가져옵니다.
Public 메서드정적 멤버 GetDomainClassXmlTagName(DomainClass, String, Dictionary<DslLibrary, String>) 도메인 클래스에 대한 XmlTagName을 가져옵니다.
Public 메서드정적 멤버 GetDomainTypeFullName(DomainProperty) 속성의 클래스에 대한 네임스페이스를 기준으로 DomainProperty 형식의 전체 이름(제네릭 매개 변수 포함)을 가져옵니다.
Public 메서드정적 멤버 GetDomainTypeFullName(DomainType, String) 지정된 현재 네임스페이스를 기준으로 DomainType의 전체 이름(제네릭 매개 변수 포함)을 가져옵니다.
Public 메서드정적 멤버 GetElementProperties 중첩 XML 요소로 serialize될 지정된 DomainClass에 정의된 모든 DomainProperties를 반환합니다.
Public 메서드정적 멤버 GetGeneratedLinkAccessModifier 전달된 DomainRelationship 및 해당 역할 수행자에 간의 가장 제한적인 형식 액세스 한정자를 반환합니다.
Public 메서드정적 멤버 GetGeneratedPropertyGetterAccessModifier DomainRelationship 클래스의 Get/Set 속성에 사용될 getter 속성 한정자 반환
Public 메서드정적 멤버 GetGeneratedPropertySetterAccessModifier DomainRelationship 클래스의 Get/Set 속성에 사용될 setter 속성 한정자 반환
Public 메서드정적 멤버 GetGenerationClassName 생성할 클래스의 이름을 반환합니다.이중 파생 클래스의 경우 도메인 클래스 이름에 'Base'를 추가합니다.그렇지 않으면 도메인 클래스의 이름이 사용됩니다.
Public 메서드정적 멤버 GetGenerationInheritanceModifier 도메인 클래스의 클래스 한정자를 가져옵니다.이중 파생된 쌍에서 생성된 클래스(기본 클래스)는 언제나 추상적이므로 클래스가 이중 파생 클래스인 경우 "abstract"를 반환합니다.
Public 메서드정적 멤버 GetGuid xxx가 지정한 guid의 문자열 폼인 지점에서 "new System.Guid(xxx)" 폼의 문자열을 반환합니다.
Public 메서드정적 멤버 GetInheritanceModifier 지정된 InheritanceModifier 열거형에 대한 C# 한정자 키워드를 가져옵니다.
Public 메서드정적 멤버 GetMethodModifier 지정된 매개 변수를 사용하여 생성된 코드의 메서드 한정자(가상, 재정의 등)를 가져옵니다.
Public 메서드정적 멤버 GetModelElementDomainClass ModelElement를 나타내는 DomainClass 반환
Public 메서드정적 멤버 GetNameProperty 사용자에 대한 요소를 식별하는 데 사용할 수 있는 속성(이 클래스 또는 기본 클래스)을 반환합니다.IsElementName이 표시된 속성을 반환합니다.아무 것도 없으면 IsMonikerKey가 표시된 속성을 반환합니다.아무 것도 없으면 null을 반환합니다.
Public 메서드정적 멤버 GetPackageNamespace 지정된 Dsl에 대한 Dsl 패키지 이름을 가져옵니다.
Public 메서드정적 멤버 GetPropertyDefaultValue 속성의 기본값을 선언하기 위한 문자열을 반환합니다("= defaultValue" 형식).
Public 메서드정적 멤버 GetPropertyDefaultValueAttribute System.ComponentModel.DefaultValueAttribute의 생성자에 대한 문자열을 가져옵니다.
Public 메서드정적 멤버 GetPropertyHandlerName 속성의 속성 처리기 이름을 가져옵니다.
Public 메서드정적 멤버 GetPropertyKind DomainPropertyAttribute 생성자에 대한 속성 종류에 대해 문자열을 반환합니다.
Public 메서드정적 멤버 GetPropertyRepresentation 지정된 DomainProperty의 PropertyRepresentation(Attribute, Element 또는 Ignored)을 가져옵니다.지정되지 않은 경우 기본값은 특성입니다.
Public 메서드정적 멤버 GetPropertyTagName 지정된 DomainProperty의 XML 태그 이름을 가져옵니다.태그 이름은 속성이 XML 특성으로 serialize된 경우에는 XML 특성 이름이며 중첩된 XML 요소로 serialize된 경우에는 XML 요소 이름입니다.
Public 메서드정적 멤버 GetRelationshipTagName 지정된 역할의 관계에 대한 XML 역할 요소 이름을 가져옵니다.참고: GetDomainClassXmlTagName()에서 반환되는 전체 폼 관계의 XML 태그 이름이 아닌 RoleElementName(정의된 경우)입니다.
Public 메서드정적 멤버 GetSameNameBaseRole 지정한 역할과 같은 이름을 가진 경우 지정한 역할의 기본 역할을 반환합니다.
Public 메서드정적 멤버 GetSegmentInputType(PathSegment) 주어진 pathSegment에 대해 이 메서드는 입력 정규화된 형식 이름을 반환합니다.
Public 메서드정적 멤버 GetSegmentInputType(PathSegment, Boolean) 주어진 pathSegment에 대해 이 메서드는 입력 정규화된 형식 이름을 반환합니다.
Public 메서드정적 멤버 GetSegmentOutputType(PathSegment) 주어진 pathSegment에 대해 이 메서드는 출력 정규화된 형식 이름을 반환합니다.
Public 메서드정적 멤버 GetSegmentOutputType(PathSegment, Boolean) 주어진 pathSegment에 대해 이 메서드는 출력 정규화된 형식 이름을 반환합니다.
Public 메서드정적 멤버 GetSerializedDomainClasses serializer가 생성될 주어진 DslLibrary의 모든 DomainClasses 목록을 가져옵니다.
Public 메서드정적 멤버 GetTypeAccessModifier 지정된 TypeAccessModifier 열거형에 대한 C# 액세스 한정자 키워드를 가져옵니다.
Public 메서드정적 멤버 GetTypeRole 이 역할에 대해 생성된 속성의 형식을 결정하는 역할을 가져옵니다.이 역할과 이름이 동일한 가장 기본 역할입니다.
Public 메서드정적 멤버 GetVersionString DslLibrary의 버전을 문자열 형식으로 가져옵니다.
Public 메서드정적 멤버 GetXmlSchemaNamespace 생성된 스키마에 사용할 XML 네임스페이스를 가져옵니다.
Public 메서드정적 멤버 HasCompartmentMaps 지정된 다이어그램이 CompartmentMaps를 정의하면 true입니다.
Public 메서드정적 멤버 HasCustomBaseImplementation 사용되지 않습니다. 지정한 DomainClass(또는 기본 DomainClass 중 하나)가 "IsCustom"으로 표시되어 있는지 여부(즉, serialization이 사용자 지정된 상태임을 의미)
Public 메서드정적 멤버 HasCustomTypeDescriptor 지정된 클래스에 정의된 사용자 지정 형식 설명자가 있는 경우 true를 반환하고 그렇지 않은 경우 false를 반환합니다.
Public 메서드정적 멤버 HasNonAbstractBaseClass 지정된 DomainClass에 비추상 기본 클래스가 있을 경우 알려줍니다.생성되어야 하는 "new" 키워드가 있는지 여부를 결정할 필요가 있습니다.
Public 메서드정적 멤버 IsCoreDomainModel 제공된 클래스가 핵심 도메인 모델인지 여부를 반환
Public 메서드정적 멤버 IsElementLinkDomainClass 제공된 도메인 클래스가 "ElementLink"를 나타내는지 여부를 반환합니다.
Public 메서드정적 멤버 IsGuidType typeName이 Guid("System.Guid")를 나타내는 경우 true 반환
Public 메서드정적 멤버 IsInCoreDomainModel 제공된 클래스가 핵심 도메인 모델의 일부인지 여부를 반환
Public 메서드정적 멤버 IsLaxElementSchemaRequired 클래스에 대해 lax 요소 스키마 형식 정의가 필요한지 여부
Public 메서드정적 멤버 IsModelElementDomainClass 제공된 도메인 클래스가 "ModelElement"를 나타내는지 여부를 반환합니다.
Public 메서드정적 멤버 IsMultiple 지정된 복합성의 위쪽 범위가 *이면 true를 반환합니다.
Public 메서드정적 멤버 IsOuterDecorator(DiagramElementHasDecorators) 지정된 링크가 외부 decorator를 연결하는 경우 true를 반환합니다.
Public 메서드정적 멤버 IsOuterDecorator(ShapeDecoratorPosition) 지정된 ShapeDecorationPosition이 외부 decorator인 경우 true를 반환합니다.
Public 메서드정적 멤버 IsRootClass DomainClass가 루트 클래스이면 모든 serialization 관련 메서드/속성이 가상이고(봉인되지 않은 경우), 그렇지 않으면 이러한 메서드/속성이 "재정의"이고 기본 구현을 호출합니다.현재, DomainClass는 Microsoft.VisualStudio.Modeling.ModelElement 또는 Microsoft.VisualStudio.Modeling.ElementLink directly에서 파생되는 경우 루트 클래스입니다.
Public 메서드정적 멤버 IsStringProperty 속성이 형식 문자열이면 true를 반환합니다.
Public 메서드정적 멤버 IsStringType typeName이 문자열("string" 또는 "System.String")을 나타내는 경우 true 반환
Public 메서드정적 멤버 MapToSchemaType DomainType을 해당 스키마 형식으로 매핑합니다.
Public 메서드정적 멤버 OmitElement 지정된 DomainRelationship이 "OmitElement"(역할 요소 태그 없이)로 serialize될 경우 가져옵니다.
Public 메서드정적 멤버 RequiresGeneratedPropertyDescriptor 지정된 설명자가 PropertyDescriptor 파생 클래스를 생성하도록 요청하는 경우 true를 반환하고 그렇지 않은 경우 false를 반환합니다.
Public 메서드정적 멤버 SortDomainClassesByInheritance<T> 상대 상속 관계에 따라 DomainClass 컬렉션을 정렬합니다.정렬 결과 가장 많이 파생된 항목이 처음 나타납니다.예를 들어, 4개의 DomainClasses A, B, C 및 D가 있는 경우에 사용됩니다.다음과 같은 일부 코드를 생성 해야 합니다:...A a = obj as A; if (a != null) ...B b = obj as B; if (b != null) ...C c = obj as C; if (c != null) ...D d = obj as D; if (d != null) ... ...C가 A에서 파생되는 경우 위의 코드는 잘못되었습니다. 올바른 코드에서는 A에 대한 검사 전에 C에 대해 검사해야 합니다.따라서 이 메서드는 상속 순서대로 정렬된 DomainClasse로 호출되어야 하며 생성된 코드는 다음과 같습니다.C c = obj as C; if (c != null) ...A a = obj as A; if (a != null) ...B b = obj as B; if (b != null) ...D d = obj as D; if (d != null) ... ...
Public 메서드정적 멤버 SortProperties XmlElement.Order(지정된 경우)에 따라 DomainProperty를 정렬합니다.기본적으로 각 속성의 순서는 0입니다.작은 순서를 사용하는 속성을 먼저 표시합니다.순서 대로의 속성 (예: 정렬 됩니다. 거 잘 상대적인 순서 정렬 한 후).정렬이 in-place이므로 passed-in 컬렉션이 직접 변경됩니다.
Public 메서드정적 멤버 SortRoles XmlRelationshipElement.Order(지정된 경우)에 따라 DomainRole을 정렬합니다.기본적으로 각 역할의 순서는 0입니다.작은 순서를 사용하는 역할을 먼저 표시합니다.순서 대로의 역할 (예: 정렬 됩니다. 거 잘 상대적인 순서 정렬 한 후).정렬이 in-place이므로 passed-in 컬렉션이 직접 변경됩니다.
Public 메서드정적 멤버 UseFullForm 지정된 DomainRelationship이 전체 형식으로 serialize될 경우 가져옵니다.
Public 메서드정적 멤버 WrapAsCSharpString C# 구문에서는 주어진 문자열을 문자열 리터럴에 래핑합니다.

위쪽

필드

  이름 설명
Public 필드정적 멤버 CoreDomainModelNamespacePrefix

위쪽

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.VisualStudio.Modeling.DslDefinition 네임스페이스