Поделиться через


Заполнение списка часовых поясов

При необходимости включить в состав интерфейса управления подписками списка часовых поясов, в котором подписчики могут выбрать требуемые часовые пояса, используйте классы TimeZone и TimeZoneEnumeration. В примерах ниже показано, как указать часовые пояса для языка с помощью управляемого кода и с помощью языка Microsoft Visual Basic Scripting Edition (VBScript) для демонстрации взаимодействия COM.

Пример управляемого кода

Приведенный здесь пример кода показывает, как использовать объект TimeZoneEnumeration в управляемом коде для указания имен часовых поясов, соответствующих текущим региональным настройкам клиентского компьютера.

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

Приведенный здесь пример кода показывает, как использовать объект TimeZoneEnumeration в неуправляемом коде для указания идентификаторов часовых поясов для часовых поясов с идентификатором в диапазоне от 2 до 40, которые соответствуют языковому стандарту «en»:

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

См. также

Основные понятия

Создание объекта Subscription
Добавление подписки
Обновление подписки
Удаление подписки
Получение сведений о поле подписки
Заполнение списка языковых стандартов подписчиков

Другие ресурсы

Представление NS<SubscriptionClassName>View

Справка и поддержка

Получение помощи по SQL Server 2005