特に、列挙型はC#アセンブリのパラメータであり、BizTalkマップのスクリプトファンクションから外部アセンブリのメソッドを呼び出す必要があります。これも可能ですか?私は文字列や整数を渡していますが、問題なく何度も外部アセンブリを呼び出しています。BizTalkスクリプトファンクションのオブジェクトパラメータを持つメソッドを呼び出す
1
A
答えて
1
残念ながら、スクリプトFunctoidから呼び出されるように設計されたメソッドで列挙型を使用することはできません。しかし、外部メソッドのラッパーを作成することで、ほぼ達成することができます。
例えば、次のメソッドはスクリプトFunctoidから直接呼び出すことはできません。ラッパーはその
public string DoSomething(string option)
{
return Helper.DoSomething(
(Options) Enum.Parse(typeof(Options), option)
);
}
注意:あなたが、もし作品を以下のラッパー・メソッドを記述する場合、
Function 'ScriptNS0:DoSomething()' has failed. Value was either too large or too small for an Int32.
しかし:
using System;
namespace ExternalAssembly
{
public enum Options
{
OptionNumberOne,
OptionNumberTwo,
}
public class Helper
{
public string DoSomething(Options option)
{
// really do something useful here
return String.Empty;
}
}
}
は、次のエラーになります。このメソッドを使用しようとすると、メソッドは、元のオプション列挙型ではなく、通常のStringパラメータを使用しています。呼び出したいメソッドのソースコードがある場合は、この余分なラッパーを追加してオーバーロードすれば完了です。
+0
ありがとう、それは唯一の解決策であるようです。そのような種類の列挙を使用する目的を破る。 – aceinthehole
関連する問題
- 1. refの値を持つメソッドからメソッドを呼び出すか?
- 2. パラメータを持つ別のクラスのメソッドを呼び出す
- 3. インスタンスのみを持つクラスの静的メソッドを呼び出す
- 4. 複数のパラメータを持つメソッドを呼び出す方法
- 5. DexClassLoader - パラメータを持つメソッドを呼び出す
- 6. コンポーネントを持つ親メソッドを呼び出す
- 7. Pythonで戻り値を持つメソッドを呼び出す
- 8. パラメータを持つメソッドを呼び出す方法は?
- 9. JSF - パラメータ(tomcat6)を持つメソッドを呼び出す
- 10. データプロバイダを持つメソッドを呼び出す方法
- 11. 名前パターンを持つメソッドを呼び出す
- 12. タイプ変数を持つメソッドを動的に呼び出す
- 13. 同じオブジェクトの他のメソッドを持つオブジェクトのメソッドを呼び出す
- 14. スーパークラスへのアクセスを持つサブクラスでの呼び出しメソッド
- 15. void *コールバックとオブジェクトパラメータを持つC++の関数をC++のDLLから呼び出す方法
- 16. mainメソッドからの可変パラメータを持つメソッドを呼び出す方法は?
- 17. 他のオブジェクトからメソッドを呼び出すメソッド呼び出し
- 18. メソッド呼び出しと変数を持つNgClassの配列
- 19. サブスクリプトを持つUILabelのsizeToFitメソッドが呼び出されない
- 20. 変数パラメータを持つGrailsの動的メソッド呼び出し
- 21. テストメソッドから呼び出されたメソッドを持つクラスのOCMock
- 22. C#reflections - 異なる型のパラメータを持つ呼び出しメソッド
- 23. NSThreadの複数のパラメータを持つ1つのメソッドを呼び出す
- 24. Spring AOP @AfterThrowing - メソッドの詳細を呼び出すメソッドの呼び出し(メソッドを呼び出さない)
- 25. 複数回呼び出されたメソッドを持つPython Mockオブジェクト
- 26. 異なるパラメータを持つJavaメソッド呼び出し
- 27. 他のメソッドから1つのメソッドを呼び出す
- 28. gebのループを使って、シルアルの名前を持つメソッドを呼び出す
- 29. ViewModelメソッドを呼び出す
- 30. Pythonメソッドを呼び出す
これは確かに完全に可能です。メソッドが静的宣言されておらず、クラスにデフォルトのコンストラクタがあることを確認してください。これらはスクリプトのFunctoidの要件です。 –
実際、私は間違っています。残念ながら、これは可能ではないようです。スクリプティングFunctoidは、外部アセンブリで宣言されたメソッドの通常のスカラパラメータと戻り値の型のみを許可します。誤ったコメントをおかけして申し訳ありません。 –