Заполнение списка часовых поясов
При необходимости включить в состав интерфейса управления подписками списка часовых поясов, в котором подписчики могут выбрать требуемые часовые пояса, используйте классы 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