DataDefaultObjectAttribute-Klasse
Gibt an, dass eine DDEX-Stützentität eine Standardimplementierung verfügt, die zurückgegeben werden soll, wenn ein Anbieter keine Implementierung bereitstellt.
Vererbungshierarchie
Object
Attribute
Microsoft.VisualStudio.Data.Core.DataDefaultObjectAttribute
Namespace: Microsoft.VisualStudio.Data.Core
Assembly: Microsoft.VisualStudio.Data.Core (in Microsoft.VisualStudio.Data.Core.dll)
Syntax
'Declaration
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Interface)> _
Public NotInheritable Class DataDefaultObjectAttribute _
Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface)]
public sealed class DataDefaultObjectAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Interface)]
public ref class DataDefaultObjectAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface)>]
type DataDefaultObjectAttribute =
class
inherit Attribute
end
public final class DataDefaultObjectAttribute extends Attribute
Der DataDefaultObjectAttribute-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
![]() |
DataDefaultObjectAttribute | Initialisiert eine neue Instanz der Klasse, DataDefaultObjectAttribute mithilfe der angegebenen Klasse ID |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
![]() |
ClassId | Ruft die Klassen-ID ab, die den Standard Objektklassentyp identifiziert. |
![]() |
TypeId | Bei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.) |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
![]() |
Equals | Infrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.) |
![]() |
GetHashCode | Gibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.) |
![]() |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
![]() |
IsDefaultAttribute | Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.) |
![]() |
Match | Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.) |
![]() |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Explizite Schnittstellenimplementierungen
Name | Beschreibung | |
---|---|---|
![]() ![]() |
System#Runtime#InteropServices#_Attribute#GetIDsOfNames | Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.) |
![]() ![]() |
System#Runtime#InteropServices#_Attribute#GetTypeInfo | Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.) |
![]() ![]() |
System#Runtime#InteropServices#_Attribute#GetTypeInfoCount | Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.) |
![]() ![]() |
System#Runtime#InteropServices#_Attribute#Invoke | Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.) |
Zum Seitenanfang
Hinweise
Wenn ein DDEX-Client die DDEX-Laufzeit aufruft, um eine Instanz einer DDEX-Stützentität für einen bestimmten Anbieter erstellen, wird der Anbieter abgefragt, um zu bestimmen, ob die Entität unterstützt, und, wenn dies der Fall ist, wird eine Instanz erstellt und zurückgegeben. Wenn der Anbieter nicht die Entität unterstützt, löst der Aufruf standardmäßig entweder eine Ausnahme aus oder gibt nullein Nullverweis (Nothing in Visual Basic), abhängig vom Codepfad zurück. In einigen Fällen haben möglicherweise die Besitzer der DDEX-Stützentität eine angemessene Standardimplementierung, die sie an die Clients bereitstellen möchten, wenn ein DDEX-Anbieter nicht ihre eigene Implementierung bereitstellt und so den Fehlerzustand vermieden werden.
Ein Beispiel hierfür ist in der Praxis die IVsDataConnectionUIConnector Stützentität. Diese Stützentität enthält eine einzelne Methode, die aufgerufen wird, um eine Datenverbindung aus einem Benutzeroberfläche-Kontext zu öffnen, wie ein Datenverbindungsdialogfeld. Der typische Verwendung dieser Stützentität ist, zusätzliche Verhaltensweisen, wie überprüfen für das Vorhandensein des Datenverbindungsziels und -aufforderung hinzuzufügen, um einen neuen Datenspeicher zu erstellen, wenn er nicht gefunden wird. Es ist ein geeigneter Standard, die Verbindung normalerweise einfach zu öffnen und spezielles nichts unternehmen. Wenn diese Standardimplementierung angegeben wird, wird Clientcode da nicht mehr Anforderungen, die Fälle einzeln zu behandeln vereinfacht, in denen der Anbieter tut oder nicht die Stützentität implementiert, noch muss er mit dem eigenen Fallback, Standardimplementierung bereitgestellt.
DDEX-Stützentitäten, die eine angemessene Standardimplementierung haben, sollten dieses Attribut auf der Typ enthalten, der die Stützentität darstellt. Das Attribut muss einen Wert für die Eigenschaft ClassId enthalten, und der Wert muss ein gültiges GUID sein, das Klassenbezeichner darstellt, die in der Visual Studio-Umgebung registriert werden. Außerdem muss die Klasse, die durch die Klassen-ID identifiziert wird, eine verwaltete Klasse sein, die die IVsDataDefaultObject-Schnittstelle implementiert. Wenn ein Client die Erstellung einer Instanz der Klasse mit der angegebenen ID anfordert, erstellt die DDEX-Laufzeit diese Instanz, wenn keine Anbieterimplementierung verfügbar ist. Die Standardimplementierung wird anschließend wieder an den Client übergeben.
Das DataDefaultObjectAttribute-Attribut ist hauptsächlich relevant für den DDEX-Plattformextendern h. die, die zusätzliche DDEXServiceentitäten erstellen.
Beispiele
Im folgenden Code wird die Definition der IVsDataConnectionUIConnector Stützentität an, die ein standardmäßiges Objekt-Attribut deklariert. Die Definition wird von der Implementierung Standardobjekte Objekts erfolgreich.
using System;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;
[DataDefaultObject("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
public interface IVsDataConnectionUIConnector
{
void Connect(IVsDataConnection connection);
}
[Guid("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
internal class DefaultConnectionUIConnector
: IVsDataConnectionUIConnector,
IVsDataDefaultObject
{
public void Connect(IVsDataConnection connection)
{
if (connection == null)
{
throw new ArgumentNullException("connection");
}
connection.Open();
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.