Sprache

DynamicDataSourceResolver Klasse

Definition

Infrastruktur: Registrierung, die der MSTest-Quellgenerator verwendet, um Kompilierungszeit-Accessoren für DynamicDataAttribute Datenquellen und Anzeigenamenmethoden zu veröffentlichen, sodass MSTest zur Laufzeit dynamische Daten liest, ohne den deklarierenden Typ widerzuspiegeln.

[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Runtime.CompilerServices.Nullable(0)]
public static class DynamicDataSourceResolver
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public static class DynamicDataSourceResolver
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
[<System.Runtime.CompilerServices.Nullable(0)>]
type DynamicDataSourceResolver = class
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
type DynamicDataSourceResolver = class
Public Class DynamicDataSourceResolver
Vererbung
DynamicDataSourceResolver
Attribute

Hinweise

Dieser Typ soll nicht direkt aus Dem Anwendungscode verwendet werden. Sie ist nur öffentlich, weil der MSTest-Quellgenerator eine [ModuleInitializer] in der Testassembly ausgibt, die sie über die Assemblygrenze aufruft, und Modulinitialisierer können KEINE APIs aus einer anderen Assembly verwenden internal . Die Signatur und das Verhalten sind Implementierungsdetails, die sich mit dem Generator entwickeln können; Keine Hand-Roll-Aufrufe an RegisterDataProvider(Type, String, DynamicDataSourceType, Func<Object[],Object>) / RegisterDisplayNameProvider(Type, String, Func<MethodInfo,Object[],String>).

Wenn eine Quelle hier nicht registriert ist (Spiegelungsmodus oder eine Quelle, die der Generator nicht auflösen konnte), DynamicDataAttribute fällt sie zurück, um den deklarierenden Typ widerzuspiegeln. Dieser Fallback ist mit DynamicallyAccessedMembersAttributeAnmerkungen versehen, sodass er die erforderlichen Member bewahrt und weiterhin trim / Native AOT auf eigene Faust sicher bleibt. Die von der Quelle generierten Registrierungen sind eine Optimierung, mit der ihre Daten gelesen werden können [DynamicData] , ohne dass sie überhaupt reflektiert werden.

Methoden

Name Beschreibung
RegisterDataProvider(Type, String, DynamicDataSourceType, Func<Object[],Object>)

Infrastruktur: Registriert einen Kompilierungszeit-Accessor, der das Rohdatenobjekt für die Quelle zurückgibt, die DynamicDataAttributedeclaringTypebenannt istsourceName. Der Delegat empfängt die Datenquellenargumente des Attributs (leer für Eigenschafts-/Feldquellen) und gibt den Eigenschafts-/Feldwert oder den Rückgabewert der Methode zurück.

RegisterDisplayNameProvider(Type, String, Func<MethodInfo,Object[],String>)

Infrastruktur: Registriert einen Kompilierungszeit-Accessor für die benutzerdefinierte Anzeigenamenmethode namens methodName "On declaringType " (siehe DynamicDataDisplayName).

Gilt für: