重複の可能性:
new Thread(void Target()) と new Thread(new ThreadStart(void Target())) の違いは何ですか?
Thread クラスについてちょっとした質問があります。このクラスには 4 つのコンストラクターがあります。
public Thread(ParameterizedThreadStart start);
public Thread(ThreadStart start);
public Thread(ParameterizedThreadStart start, int maxStackSize);
public Thread(ThreadStart start, int maxStackSize);
2 番目のコンストラクターを使用して Thread オブジェクトを作成します。
Thread thread = new Thread(new ThreadStart(ScanDirectory));
ただし、上で説明したコンストラクターを使用せずに、このオブジェクトを作成する方法を使用できます。
Thread thread = new Thread(ScanDirectory);
この場合、ScanDirectory は void メソッドであり、ThreadStart または ParameterizedThreadStart ではありませんが、Thread クラスは引き続きこのコンストラクターを受け入れます。なんで?これは .NET の機能だと思いますが、どのように実装されているかわかりません。
注: ScanDirectory は void メソッドです。