DynamicAppVar

クラス概略
AppVarのFriendlyOperationをdynamicキーワードを使うことにより、
通常のメソッド、プロパティー、フィールド呼び出しのように扱うためのラッパークラスです。
注意点として、DynamicObjectクラスに定義されている操作と同名の操作を呼び出すことはできません。
どうしても必要な場合は、旧来のFriendlyOperationで実行してください。



public DynamicAppVar(AppVar appVar)
解説
コンストラクタ。

引数
appVar
ラップするappVar。



public bool Equals(Object obj)
解説
等価比較。 操作対象アプリケーション内部で実施した結果を返します。

戻り値
比較結果。

引数
obj
オブジェクト。



public int GetHashCode()
解説
ハッシュコード取得。 操作対象アプリケーション内部で実施した結果を返します。

戻り値
ハッシュコード。



public dynamic GetType()
解説
タイプを取得。操作対象アプリケーション内部で実施した結果を返します。

戻り値
タイプ。DynamicAppVarで返ります。



public dynamic MemberwiseClone()
解説
簡易コピーの作成。操作対象アプリケーション内部で実施した結果を返します。

戻り値
簡易コピー。DynamicAppVarで返ります。



public static implicit operator DynamicAppVar(AppVar src)
解説
DynamicAppVarにキャストします。

戻り値
DynamicAppVar型。

引数
src
AppVar型変数。



public static implicit operator AppVar(DynamicAppVar src)
解説
AppVarにキャストします。

戻り値
AppVar型。

引数
src
DynamicAppVar型変数。



public string ToString()
解説
文字列変換。 操作対象アプリケーション内部で実施した結果を返します。

戻り値
文字列。



public  TryConvert(ConvertBinder binder, ref Object& result)
解説
その他のキャストの動的解決です。
対象アプリケーションから、値をシリアライズして取得します。        
特殊処理として、以下のものがあります。
 ・IDisposableにキャストすると、内部のAppVarが返ります。
・IEnumerableにキャストするとIEnumerable<dynamic>が返ります。dynamicはDynamicAppVarです。

戻り値
成否。

引数
binder
バインダー。
result
キャスト結果。



public  TryGetIndex(GetIndexBinder binder, ref Object[] indexes, ref Object& result)
解説
インデックスアクセス(getter)の動的解決です。
非同期実行はできません。
どうしても非同期実行が必要な場合はAppVarにキャストして、FriendlyOperationを使用するか、
メソッド形式の呼び出しを実行してください。
メソッド名称はインデックスアクセスの別名(配列はGet,オブジェクトでの定義はget_Item)を使用してください。

戻り値
成否。

引数
binder
バインダー。
indexes
インデックスアクセス引数。
result
結果。



public  TryGetMember(GetMemberBinder binder, ref Object& result)
解説
プロパティー、フィールドへのアクセス(getter)の動的解決です。
非同期実行はできません。
どうしても非同期実行が必要な場合はAppVarにキャストして、FriendlyOperationを使用するか、
メソッド形式の呼び出しを実行してください。
メソッド名称はプロパティー名称と同一です。

戻り値
成否。

引数
binder
バインダー。
result
取得結果。



public  TryInvokeMember(InvokeMemberBinder binder, ref Object[] args, ref Object& result)
解説
メソッド実行の自動解決です。
AsyncとOperationTypeInfoを指定する場合は、引数に渡してください。
その順番はどこでも構いません。

戻り値
成否。

引数
binder
バインダー。
args
引数。
result
戻り値。



public  TrySetIndex(SetIndexBinder binder, ref Object[] indexes, Object value)
解説
インデックスアクセス(setter)の動的解決です。       
非同期実行はできません。
どうしても非同期実行が必要な場合はAppVarにキャストして、FriendlyOperationを使用するか、
メソッド形式の呼び出しを実行してください。
メソッド名称はインデックスアクセスの別名(配列はSet,オブジェクトでの定義はset_Item)を使用してください。

戻り値
成否。

引数
binder
バインダー。
indexes
インデックスアクセス引数。
value
設定する値。



public  TrySetMember(SetMemberBinder binder, Object value)
解説
プロパティー、フィールドへのアクセス(setter)の動的解決です。
非同期実行はできません。
どうしても非同期実行が必要な場合はAppVarにキャストして、FriendlyOperationを使用するか、
メソッド形式の呼び出しを実行してください。
メソッド名称はプロパティー名称と同一です。

戻り値
成否。

引数
binder
バインダー。
value
設定値。