Metodo IVsDataSourceSpecializer.GetType
Risolve un nome di tipo specifico nella relativa rappresentazione corrispondente Type, per un'origine dati specifica di DDEX.
Spazio dei nomi: Microsoft.VisualStudio.Data.Core
Assembly: Microsoft.VisualStudio.Data.Core (in Microsoft.VisualStudio.Data.Core.dll)
Sintassi
'Dichiarazione
Function GetType ( _
source As Guid, _
typeName As String _
) As Type
Type GetType(
Guid source,
string typeName
)
Type^ GetType(
Guid source,
String^ typeName
)
abstract GetType :
source:Guid *
typeName:string -> Type
function GetType(
source : Guid,
typeName : String
) : Type
Parametri
source
Tipo: GuidUn identificatore di origine dati di DDEX.
typeName
Tipo: StringUn nome di tipo specifico.
Valore restituito
Tipo: Type
Un oggetto Type che rappresenta il tipo risolto dal nome del tipo specificato, per l'origine dati specificata di DDEX, se disponibile; in caso contrario, nullriferimento null (Nothing in Visual Basic).
Eccezioni
Eccezione | Condizione |
---|---|
ArgumentNullException | Il parametro typeName è nullriferimento null (Nothing in Visual Basic). |
Note
Un provider implementa questo metodo quando sono presenti nomi dei tipi specificati come stringhe in formati come un file XML di supporto di dati e i nomi dei tipi non possono essere risolti automaticamente o venga risolto correttamente) con il metodo GetType di CLR. L'utilizzo di questo metodo è di espandere uno spazio dei nomi non specificato. Ad esempio, se la stringa è "Tipo" può ottenere espanso "a" Company.Product.MyType prima che CLR lo risolva.)
Questo metodo viene fornito per ridurre la specifica di un provider dei nomi di tipo, che possono ridurre la duplicazione degli elementi, ad esempio uno spazio dei nomi comuni, nella codebase. La specializzazione di origine dati fornita da questo metodo ulteriormente consente l'utilizzo di nomi di tipi comuni per fare riferimento ai tipi potenzialmente diversi quando le origini dati diverse di DDEX sono inviate dal client.
Esempi
Il codice seguente viene illustrata l'implementazione di questo metodo per anteporre spazi dei nomi diversi a tutti i nomi di tipo, come nell'origine dati di DDEX. L'esempio eredita dalla classe DataSourceSpecializer del framework, che fornisce un'implementazione predefinita degli altri metodi dell'interfaccia.
using System;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Framework;
public class MySourceSpecializer5 : DataSourceSpecializer
{
private static readonly Guid s_dataSource1 =
new Guid("EB5246D3-277C-4277-910F-111CB9EAD253");
public override Type GetType(Guid source, string typeName)
{
if (source == s_dataSource1)
{
typeName = "Company.DdexProvider.Source1." + typeName;
}
else
{
typeName = "Company.DdexProvider." + typeName;
}
return GetType().Assembly.GetType(typeName);
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.