OperationTypeInfo

クラス概略
FriendlyOperationの型を確定させるための情報です。
オーバーロードの解決と、親クラスの操作呼び出しに使用します。
末尾のサンプルを参照お願いします。




public OperationTypeInfo(string target, params string[] arguments)
解説
コンストラクタです。

引数
target
操作を保持する型フルネームです。
arguments
引数の型のフルネームを指定します。



public string Target{ get; }
解説
操作を保持する型フルネーム取得。



public object[] Arguments { get; }
解説
引数の型のフルネーム配列。



サンプル
//以下のクラスがアプリケーション内部にあり、それを操作するサンプルです。
class Parent
{
    int data;
}
class Child
{
    //同名の変数が存在する
    int data;

    //オーバーロードされた関数が存在する
    public void Test(Form form)
    {
        //...処理
    }
    
    public void Test(Control control)
    {
        //...処理
    }
}

//テスト用クラス生成
AppVar child = app.Dim(new NewInfo<Child>());

//親クラスのデータに値を設定
child["data", new OperationTypeInfo(typeof(Parent).FullName, typeof(int).FullName)](100);

//通常オーバーロードは引数の種類で解決できる。
AppVar form = app.Dim(new NewInfo<Form>());
child["Test"](form);

//しかし、nullを指定されると引数から推測できない。そのためOperationTypeInfoを使用する。
child["Test", new OperationTypeInfo(typeof(Parent).FullName, typeof(Form).FullName)](null);