メソッドとゲッター/セッターを持つ C# アセンブリがあります。vb6 から comvisible C# アセンブリのメソッドを呼び出すことができますが、getter/setter がエラーで失敗しています - 「オブジェクトはこのプロパティまたはメソッドをサポートしていません」
たとえば、.net アセンブリの私のクラスは次のようになります。
public class Test{
SubMain _subMain;
public Test()
{
_subMain = new SubMain();
}
public string Dump(){ return "test"; }
public SubMain SubMain
{
get
{
return _subMain;
}
}
public class SubMain
{
public SubMain()
{
}
public string Dump()
{
return "SubMain";
}
}
----
vbscript:
Set obj = CreateObject("SampleCSForCOM.Main")
str = obj.Dump()
wscript.echo "method string="+str
wscript.echo "property string="+obj.SubMain.Dump()
----
Error in vbscript:
C:\test>cscript test.vbs
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
method string=Main
C:\test\test.vbs(4, 1) Microsoft VBScript runtime error: Object doesn't support
this property or method: 'obj.SubMain'
質問: 文字列を返すプロパティを使用すると、vbscript でうまく機能します。しかし、別のオブジェクトを返すプロパティを使用すると、失敗します。