2

System.__ComObject として表示されるこの相互運用オブジェクトがあり、変数名を使用して値を設定したい:

SetValue(fieldname) = fieldvalue;

また、動的メンバーを調べて、利用可能なものを確認する必要があります。一部のメンバー (Ref で終わるメンバー) にはサブメンバーがあるため、それらにもドリルダウンする必要があります。

デバッグでは、動的メンバーは次のように表示されます。(すみません、画像載せれません)

http://www.mezzodev.com/qintegrator/download/debug1.png

http://www.mezzodev.com/qintegrator/download/debug2.png

4

1 に答える 1

2

Impromptu インターフェイスを使用して、動的メンバーを次のように収集できました。

var memberNames = Impromptu.GetMemberNames(customerAdd, dynamicOnly:true); 

次に、変数メンバー名を次のように使用して設定できます。

string optField = "Phone";
string optValue = "818-555-1212";
Impromptu.InvokeGet(customerAdd,  optField).SetValue(optValue);

大きな「ありがとう!」これに答えてくれたImpromptu Interfaceの開発者に感謝します。

于 2012-02-02T22:29:22.847 に答える