私はInternet ExplorerでWinFormsコントロールをホストしています。さらに、IExpandoインターフェイスを実装して、JavaScriptコードがそれらにアクセスしようとするときに、C#コード内に存在しないフィールドやメソッドをエミュレートできるようにしました。たとえば、なぜIExpando.AddMethodが呼び出されなかったのですか?
var myobj = new ActiveXObject('server.object');
myobj.Foo = "FooText";
myobj.Bar("BarText");
私のC#クラスにはFooフィールドとBarメソッドが含まれていないことに注意してください。 IExpando.AddFieldはパラメータname = "Foo"で呼び出されますが、IExpando.AddMethodは実行されません。 myobj.Bar( "BarText")の場合。 IReflect.GetMethods、IReflect.GetPropertiesおよびIReflect.GetFieldsメソッドのみが実行されます。
IExpando.AddMethodが呼び出されなかった理由を知っている人はいますか?
ありがとう、 Paul。