Freigeben über


CodeGenerationUtilities.SortDomainClassesByInheritance<T>-Methode

Eine Auflistung von DomainClasses auf Grundlage der relativen Vererbungsbeziehungen sortieren. Die am häufigsten abgeleitete wird zuerst im Sortierergebnis angezeigt. Dies wird in der folgenden Situation verwendet: Sagen wir, es gibt 4 DomainClasses, A, B, C und D. Sie müssen Code wie den Folgenden generieren: … 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) ... ... Wenn C von A abgeleitet ist, ist der obige Code falsch. Der korrekte Code sollte nach C zuerst überprüfen, bevor er nach A überprüft. Daher sollte diese Methode aufgerufen werden, um die DomainClasses in der Reihenfolge der Vererbung zu sortieren, wobei der generierte Code wie folgt aussehen wird: … 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) ... ...

Namespace:  Microsoft.VisualStudio.Modeling.DslDefinition
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.DslDefinition.12.0.dll)

Syntax

'Declaration
Public Shared Function SortDomainClassesByInheritance(Of T As DomainClass) ( _
    input As IEnumerable(Of T) _
) As IEnumerable(Of T)
public static IEnumerable<T> SortDomainClassesByInheritance<T>(
    IEnumerable<T> input
)
where T : DomainClass

Typparameter

  • T

Parameter

Rückgabewert

Typ: System.Collections.Generic.IEnumerable<T>

.NET Framework-Sicherheit

Siehe auch

Referenz

CodeGenerationUtilities Klasse

Microsoft.VisualStudio.Modeling.DslDefinition-Namespace