相关疑难解决方法(0)

为什么要使用"new DelegateType(Delegate)"?

好的,假设你在某个类中定义了一个委托.

public delegate void StringDelegate (string s);
Run Code Online (Sandbox Code Playgroud)

另一个类实现了一个方法:

public static void StringWriter (string s) {...}
Run Code Online (Sandbox Code Playgroud)

在我正在阅读"Programming C#"第4版的书中,他们使用new关键字创建委托,例如:

ClassDelegate.StringDelegate writer;
writer = new ClassDelegate.StringDelegate (DelegateImplementer.StringWriter);
writer("Hello");
Run Code Online (Sandbox Code Playgroud)

但是,我看到也可以通过这种方式调用委托方法

ClassDelegate.StringDelegate writer;
writer = DelegateImplementer.StringWriter;
writer ("Hello");
Run Code Online (Sandbox Code Playgroud)

有什么不同?当我只是简单地传递或引用方法委托的签名时,为什么我想要实例化并创建一个对象委托.

c# delegates

8
推荐指数
1
解决办法
1532
查看次数

新的Thread(void Target())和新的Thread(新的ThreadStart(void Target()))有什么区别?

很抱歉,如果之前已经询问过这个问题,但我想简单回答以下两种用法之间的差异.VS似乎接受它们作为有效代码.

private static void doSomeWork()
{
   //do some work
}

public someClass()
{
   //Thread thread = new Thread(doSomeWork);
   //or
   //Thread thread = new Thread(new ThreadStart(doSomeWork));
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading

4
推荐指数
1
解决办法
830
查看次数

标签 统计

c# ×2

delegates ×1

multithreading ×1