1

使用されていない関数やメソッドをコンパイラがチェックしないようにする可能性はありますか?私は(C#の)コードに依存するアプリに取り組んでいます。このアプリでは、system.windows.forms.dllのメンバーがいくつかの関数とメソッドで使用されています。例えば:

protected IWin32Window parentWindow;
public virtual UserControl GetFirmwareInformation()

私のアプリはこのメンバーを使用しませんが、とにかくdllを読み込もうとしますが、成功しません。これは、私が知っているように、このdllを使用できないためです。「フォームを使用するメソッド」を破棄できないため、現在、回避策を探しています。1つの解決策は、プリコンパイラディレクティブを使用することですが、このソリューションには、forms-dllを使用できる別のc#デスクトッププログラムも含まれているため、より洗練された方法があることを願っています。

別の解決策はありますか?

4

1 に答える 1

0

実行できることの1つは、MonoDroidアプリにいくつかのファイルを同梱して、欠落しているインターフェイス、クラス、列挙型、およびメソッドのスタブアウトバージョンを実装することです。

より適切な解決策は、これらの依存関係をソースコードから何らかの方法で分割することです。何らかの形式のインターフェイス/インジェクションを使用するか、単に部分的なクラスを使用してコードを複数のファイルに分割します。私は個人的にいくつかのインジェクションメカニズムを使用しますが、それは、そのような部分クラスを使用することは、を使用することと非常に似ているため#defineです。

于 2012-10-11T14:58:47.280 に答える