2011-02-07 3 views
1

Я довольно новичок в VBScript и не могу понять, как использовать класс .NET: System.Globalization.CultureInfo.Использование System.Globalization.CultureInfo из VBScript

Согласно документации (http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx), она имеет ComVisibleAttribute = True, что, как я думал, означает, что я могу использовать ее из VBScript. Однако, когда я пытаюсь использовать его как:

Set ci = CreateObject("System.Globalization.CultureInfo")

я получаю:

Microsoft VBScript runtime error: ActiveX component can't create object: 'System.Globalization.CultureInfo'

Может быть, я что-то недоразумение, и этот класс просто не может быть использован с VBScript. Есть предположения?

Спасибо!

ответ

1

Я не думаю, что это возможно ... CultureInfo не имеет конструктор без параметров, и CreateObject не позволяет указать аргументы конструктора

0

CreateObject создает и возвращает ссылку на объект автоматизации. COM-объект не является объектом автоматизации в общем случае.

Я предполагаю, что System.Globalization.CultureInfo не поддерживает IDispatch, поэтому вы не можете использовать его в VBScript.

1

Простой ответ: список классов .NET Framework доступен из VBScript под ключ реестра HKEY_CLASSES_ROOT:
COM-callable .NET classes
System.Globalization.CultureInfo класс не существует, так что это не скриптах.


Techy Ответ: COM interopability предпосылки для классов .NET описаны в this MSDN article, и, как сказал Томас, CultureInfo класс не имеет права, так как в ней отсутствует конструктор без параметров.