Package version 1
Windows
|
説明 |
ExtValオブジェクトを初期化します。
valueに設定できる値は、String、Number、Date
|
|
|
呼出形式 |
var val = new ExtVal( [ value, type [, libraryName ] ] )
|
|
|
戻り値 |
ExtValオブジェクト
|
|
|
引数 |
value |
オブジェクトの値を指定します。 例えば、typeにExtVal.Int32を指定する場合は、この引数には整数を指定します。 有効なデータ型は、String、Number、Date、ByteArrayです。 指定した値はValueプロパティに設定されます。
|
|
|
integer type |
.NETのデータ型を指定します。 指定できる値についてはTypeプロパティを参照してください。 指定した値はTypeプロパティに設定されます。
|
|
|
String libraryName |
typeにExtVal.Enumeを指定する場合に、.NET列挙体が定義されているライブラリを指定します。 それ以外は、省略するかnullを指定してください。 指定した値はLibraryプロパティに設定されます。
|
|
例外 |
CRS-16 |
コンストラクタ引数が不正です |
|
|
CRS-407 |
現在のセキュリティレベルではクラス 'ExtVal'を利用できません
|
|
使用例 |
var val = new ExtVal(0x41, ExtVal.Char);
var ret = ExternalObject.InvokeStatic("System.Convert", null, "ToString", val);
print(ret, "\n");
var extobj = new ExternalObject("SampleNS.SampleClass", "sample.dll");
extobj.SetProperty("SampleProp", new ExtVal(true, ExtVal.Boolean));
var lib = "System.Windows.Forms, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089";
var buttons = new ExtVal("System.Windows.Forms.MessageBoxButtons.OK", ExtVal.Enume, lib);
var icon = new ExtVal("System.Windows.Forms.MessageBoxIcon.Asterisk", ExtVal.Enume, lib);
ExternalObject.InvokeStatic("System.Windows.Forms.MessageBox", lib, "Show", "ABC", "123", buttons, icon);
|
|
|
関連項目 |
||
メソッドの引数やプロパティの値に.NET列挙体の値を指定したいときはtypeにExtVal.Enumeを指定します。
この場合はvalueには.NET列挙体を名前空間を含めた正式名を文字列で指定し、必要であればlibraryNameにライブラリ(ライブラリの指定方法を参照)を指定します。
例)
var sunday = new ExtVal("System.DayOfWeek.Sunday", ExtVal.Enume);
var lib = "System.Windows.Forms, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089";
var ok = new ExtVal("System.Windows.Forms.MessageBoxButtons.OK", ExtVal.Enume, lib);
var asterisk = new ExtVal("System.Windows.Forms.MessageBoxIcon.Asterisk", ExtVal.Enume, lib);
.NETメソッドに参照型の引数を指定したいときはtypeに指定したデータ型にExtVal.ByRef を組み合わせます。
呼び出し先メソッドによって書き換えられた内容は、Valueプロパティで参照できます
例)
var v1 = new ExtVal("abc", ExtVal.String + ExtVal.ByRef);
var v2 = new ExtVal("xyz", ExtVal.String + ExtVal.ByRef);
ExternalObject.InvokeStatic("SampleNS.SampleClass", "sample.dll", "Swap", v1, v2);
print(strf("v1=%1 v2=%2", v1.Value, v2.Value), "\n");