私はむしろユニークなことをやろうとしていますが、もっと良い方法があるかもしれませんが...私はコンポーネントを有効/無効にする拡張メソッドを使用する制御(ish)システムの逆転を行っています私がもっと詳細に入り混乱させる前に、いくつかのコードを見てみましょう!モジュラー拡張メソッドを使用するクラスのクリーンコードを書くにはどうすればよいですか?
using TestComponents.CommunicationProtocols.RS232;
//this brings in the
//ConnectRS232 extension method
namespace TestMeNamespace
{
public class Test //Although this class is defined here, we extend it above
{
public void Start()
{
this.ConnectRS232(1, 9600); //calls the ConnectRS232 extension method
}
}
}
要するに、使用宣言は、DEFINEテストと同じファイルでTestを拡張します。 (継承も問題ありません)しかし、これにはいくつかの問題があります!まず第一に、醜い必須の "これ"。ブリーチ。第二に、それは乱雑な共依存システムです。
ここで私が達成しようとしてんだよ:私は文を簡単にしたい
- :ConnectRS232() ;
- 私がする必要がない場合、私は部分的なクラスでfutzする必要はありません。
- 私はインターフェイスの継承を使っても問題ありません。
私はコメントから追加の質問をすることは自由ですが、回答がない限り、回答を投稿しないでください!
編集:質問の代わりに、自分のシステムでC#スクリプト(www.cs-script.com)のJITコンパイルを行っていますが、これらのスクリプトはほとんどがプログラマー以外の人が書いています。何年もの間スクリプトのために本当に "特別な"独自の言語を使用していました。私は事を地獄のように単純なものにしたい、そして "この"コールの全部が混乱のように見える。
ああ、CommunicationProtocols.RS232なしでコンパイルするとコンパイルされたプログラムが小さくなります。 – Brian
True Brian :-)また、 'this'ステートメントについては、スレッディングや継承について心配する必要のないメソッドでそれらを使用するのは非常に間違っていると思います。 – Firoso
編集が更新されました。最後をお読みください。 – Firoso