私はvb.netコードを持っています。これは異なるOSがインストールされたデバイスで動作するはずです。使用しているAPIは、OSの1つで実現されていない機能を除いて全く同じです。コードが存在しない場合に、一部の機能を無効にする必要はありませんが、どのようにコードを普遍的にすることができますか?私はの#defineとの#ifがVB.NETには存在しませんでしたが、彼らはそう考え、前vb.net:関数を呼び出す方法(存在する場合のみ)
答えて
ちょうど作業コードを手に入れました。 System.Reflectionを使用します: このようにして、外部関数の存在はRunTimeでのみチェックされ、コードをコンパイルできます!
Sub DynamicLibraryUse(ByVal val As Byte) 'just because my External Function receives byte values
Dim myAssembly As System.Reflection.Assembly
myAssembly = Assembly.Load("MyExternalLibrary")
Dim o As Object = myAssembly.CreateInstance("MyExternalNamespace.Class")
Dim myType As Type = myAssembly.GetType("MyExternalNamespace.Class")
Dim myMethod As MethodInfo = myType.GetMethod("MyExternalMethod")
Dim val2 As Object() = New Object(0) {}
val2(0) = val
myMethod.Invoke(o, val2)
End Sub
は、私が言ったスクラッチ:
#CONST SOMEOS = TRUE
Dim item As SomeClass
#IF SOMEOS
item.someFunction()
#ELSE
item.otherFunction()
#ENDIF
この方法で、あなたはSOMEOS
を定義した場合、唯一のsomeFunction
が呼び出されると、コンパイルされた。代わりにOTHEROS
を定義すると、otherFunction
のみが呼び出され、コンパイルされます。
ありがとうございます。しかし、someFunction()がitemに存在しない場合、コードはコンパイルされないので、これは機能しません。 –
本当に、私は#CONSTを忘れていました。今それは動作し、ちょうどそれをテストした:) – DrDonut
もう一度ありがとう。私はあなたの方法を保存し、明日それを試してみます。今のところ私は解決策を見つけました:) –
- 1. テンプレートテンプレートクラス、存在する場合は関数を呼び出す
- 2. メンバ関数が存在する場合は呼び出し、フリー関数に戻す場合は
- 3. vb.netスレッドと呼び出し関数を宣言する方法
- 4. vb.netの子フォーム内でpublic関数を呼び出す方法
- 5. デリゲートが存在しない場合に呼び出されるメソッドを呼び出す方法
- 6. 私の場合、関数内で関数自体を呼び出す方法
- 7. JNDをVB.netに呼び出す方法ByRef文字列関数
- 8. 他のJSファイルに存在する関数を呼び出す
- 9. タイプインスタンスのみの場合、ジェネリックメソッドを呼び出す方法は?
- 10. メソッド呼び出しを防ぐ方法(存在しない場合)
- 11. data.tableを呼び出す関数を呼び出す関数の記述方法?
- 12. phpの関数を呼び出す場合のファイル名の確認方法
- 13. 関数(param)が呼び出された場合、unbeforeunload呼び出しをウィンドウにバインドする方法は?
- 14. hrefにハッシュタグIDがある場合にjavascript関数を呼び出す方法
- 15. javascript配列が存在する場合にのみ関数を呼び出す場合は空の配列を返します
- 16. Swift:ランダム関数を呼び出す関数を呼び出す方法は?
- 17. * ngIfがtrueの場合に関数を呼び出す方法は?ここで
- 18. ng-ifがtrueの場合に関数を呼び出す方法は?
- 19. 可視性バインディングがtrueの場合に関数を呼び出す方法は?
- 20. methodnameが関数パラメータの場合にメソッドを呼び出す方法
- 21. Javascriptオブジェクトが存在する場合にメソッドを呼び出すためのショートカット
- 22. 方法:値が存在する場合、出力: "Y" nullの場合、出力: "N"
- 23. クリック時のみ、私は関数を呼び出す方法
- 24. javascript関数を呼び出す方法
- 25. anglejs関数を呼び出す方法
- 26. symfonyでフォームが無効な場合にjavascript関数を呼び出す方法
- 27. 上記の特定のdivの場合にのみ呼び出す関数
- 28. nightmare waitTimeoutを超えた場合に関数を呼び出す
- 29. WPF:呼び出す待ち行列に何もない場合、Dispatcher.BeginInvoke *のみを呼び出す方法?
- 30. 別の関数で集合関数を呼び出す方法は?
これらの機能をどのように呼びますか?通常は、動的コードがいくつか追加されていない限り、関数がなければコンパイルされません。 –
これらの関数を表示 –
コンパイラ・ディレクティブのジョブである可能性がありますが、情報はほとんどありません。確かに伝えるのは難しい – Sehnsucht