IVsDataProviderObjectFactory.CreateObject – metoda
Vytvoří instanci zadané entity podporu DDEX, který je implementován zprostředkovatelem DDEX.
Obor názvů: Microsoft.VisualStudio.Data.Core
Sestavení: Microsoft.VisualStudio.Data.Core (v Microsoft.VisualStudio.Data.Core.dll)
Syntaxe
'Deklarace
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
Parametry
- objType
Typ: System.Type
Typ entity DDEX podpory.
Vrácená hodnota
Typ: System.Object
Instanci zadané entity DDEX podpory, který je implementován zprostředkovatelem DDEX Pokud DDEX provider podporuje. jinak null .
Výjimky
Výjimka | Podmínka |
---|---|
ArgumentNullException | The objType parameter is nullodkaz null (Nothing v jazyce Visual Basic). |
Poznámky
Pravděpodobně nejdůležitější metody platformu DDEX tato metoda představuje základní model rozšiřitelnost, umožňující abstraktní typ (například třída rozhraní nebo base) předání poskytovateli a získali zpět poskytovatele a provádění tohoto typu.Tato metoda vrátí nejvyšší úrovně podpory subjektů, ta, která obvykle vytvořené přímo klientovi dovoluje nepřímo prostřednictvím dotazů na datové připojení pro službu implementuje zprostředkovatele nebo z datového souboru XML podporu vytváření typů odkazuje.
Příklady
Následující kód ukazuje, jak implementovat tuto metodu k vytvoření čísla standardní podpora subjektů.Příklad vychází z rozhraní DataProviderObjectFactory třídy, která obsahuje výchozí provádění GetType a GetAssembly metod.
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() {}
}
Zabezpečení rozhraní .NET Framework
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.