Auffüllen einer Zeitzonenliste

Wenn Sie in der Schnittstelle der Abonnementverwaltung eine Liste von Zeitzonen angeben müssen, damit Abonnenten gültige Zeitzonen auswählen können, verwenden Sie die Klassen TimeZone und TimeZoneEnumeration. Die folgenden Beispiele zeigen das Auflisten der Zeitzonen für eine Sprache, die verwalteten Code verwendet, und mithilfe von Microsoft Visual Basic Scripting Edition (VBScript) als Veranschaulichung von COM-Interop.

Beispiel für verwalteten Code

Das folgende Codebeispiel zeigt, wie ein TimeZoneEnumeration-Objekt in verwaltetem Code verwendet wird, um Zeitzonennamen für die aktuelle Kultureinstellung des Clientcomputers aufzulisten:

string instanceName = "Tutorial";

// Create the NSInstance object.
NSInstance testInstance = new NSInstance(instanceName);

// Create the TimeZoneEnumeration.
TimeZoneEnumeration testTimeZoneEnumeration =
    new TimeZoneEnumeration(testInstance,
    System.Globalization.CultureInfo.CurrentUICulture.Parent.Name);

// Step through the enumeration, populating
// the drop-down list as you go. Note that the TimeZone
// reference must include the namespace, because there is
// an identically named class in the System namespace.
foreach(Microsoft.SqlServer.NotificationServices.TimeZone
thisTimeZone in testTimeZoneEnumeration)
{
    Console.WriteLine(thisTimeZone.TimeZoneName);
}

COM-Interop-Beispiel

Das folgende Codebeispiel zeigt, wie ein TimeZoneEnumeration-Objekt in nicht verwaltetem Code verwendet wird, um Zeitzonenbezeichner für die Zeitzonen mit einem Bezeichner zwischen 2 und 40 aufzulisten, die mit dem Gebietsschema "en" übereinstimmen:

Dim testInstance, testTimeZoneEnumeration, timeZones
const instanceName = "Tutorial"

' Create the NSInstance object.
set testInstance = WScript.CreateObject( _ 
    "Microsoft.SqlServer.NotificationServices.NSInstance")
testInstance.Initialize instanceName

' Create the TimeZoneEnumeration object.
set testTimeZoneEnumeration = WScript.CreateObject( _ 
    "Microsoft.SqlServer.NotificationServices.timeZoneEnumeration")
testTimeZoneEnumeration.Initialize (testInstance), "en" 

' Print the valid time zone IDs between 2 and 40
for each thisTimeZone in testTimeZoneEnumeration
    if thisTimeZone.TimeZoneId >=2 _
        and thisTimeZone.TimeZoneId <=40 then
        timeZones = timeZones & thisTimeZone.TimeZoneId & ", "
    end if
next
WScript.echo timeZones

Siehe auch

Konzepte

Erstellen eines Abonnementobjekts
Hinzufügen eines Abonnements
Aktualisieren eines Abonnements
Löschen eines Abonnements
Abrufen von Abonnementfeldinformationen
Auffüllen einer Abonnentengebietsschema-Liste

Andere Ressourcen

NS<SubscriptionClassName>View

Hilfe und Informationen

Informationsquellen für SQL Server 2005