IVsDataProviderObjectFactory.CreateObject-Methode
Erstellt eine Instanz der angegebenen DDEX-Stützentität, die vom DDEX-Anbieter implementiert wird.
Namespace: Microsoft.VisualStudio.Data.Core
Assembly: Microsoft.VisualStudio.Data.Core (in Microsoft.VisualStudio.Data.Core.dll)
Syntax
'Declaration
Function CreateObject ( _
objType As Type _
) As Object
Object CreateObject(
Type objType
)
Object^ CreateObject(
Type^ objType
)
abstract CreateObject :
objType:Type -> Object
function CreateObject(
objType : Type
) : Object
Parameter
objType
Typ: TypeEin Typ DDEX-Stützentität.
Rückgabewert
Typ: Object
Eine Instanz der angegebenen DDEX-Stützentität, die vom DDEX-Anbieter implementiert wird, wenn der DDEX-Anbieter dies unterstützt; andernfalls nullein Nullverweis (Nothing in Visual Basic).
Ausnahmen
Ausnahme | Bedingung |
---|---|
ArgumentNullException | Der objType-Parameter ist nullein Nullverweis (Nothing in Visual Basic). |
Hinweise
Wahrscheinlich stellt ermöglicht die wichtigste Methode in der DDEX-Plattform, diese Methode den Kern des Erweiterbarkeitsmodells dar, einen an den Anbieter übergeben werden abstrakten Typ (beispielsweise, eine Schnittstelle oder eine Basisklasse) und ruft anschließend die Implementierung eines Anbieters dieses Typs ab. Ein Anbieter implementiert diese Methode, um der obersten Ebene h. Datenbindungen zurückzugeben Stützentitäten, die normalerweise direkt von einem Client im Gegensatz zu indirekt eine Datenverbindung für einen Dienst den abfragen oder einen Typ erstellen erstellt werden, der von einer Datenunterstützungsxml-datei verwiesen wird.
Beispiele
Der folgende Code zeigt, wie diese Methode implementiert, um mehrere Standardstützentitäten zu erstellen. Das Beispiel erbt von der DataProviderObjectFactory-Frameworkklasse, die eine Standardimplementierung der GetType und GetAssembly-Methoden bereitstellt.
using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Framework;
using Microsoft.VisualStudio.Data.Services;
using Microsoft.VisualStudio.Data.Services.SupportEntities;
internal class MyProviderObjectFactory : DataProviderObjectFactory
{
public override object CreateObject(Type objType)
{
if (objType == null)
{
throw new ArgumentNullException("objType");
}
if (objType == typeof(IVsDataConnectionProperties))
{
return new MyConnectionProperties();
}
if (objType == typeof(IVsDataConnectionSupport))
{
return new MyConnectionSupport();
}
return null;
}
}
internal class MyConnectionProperties : DataConnectionProperties
{
}
internal class MyConnectionSupport : IVsDataConnectionSupport
{
// Implement the interface methods
public void Initialize(object providerObj) {}
public bool Open(bool doPromptCheck) {return true;}
public void Close() {}
public string ConnectionString { get {return "";} set {} }
public int ConnectionTimeout { get {return 0;} set {} }
public DataConnectionState State { get {return DataConnectionState.Closed;} }
public object ProviderObject { get {return null;} }
// Inherited from System.IServiceProvider
public Object GetService(Type serviceType) {return null;}
// Inherited from System.IDisposable
public void Dispose() {}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.