我相信有些文献不准确(甚至可能包含错误)或者我的错? 我目前读过的书说(翻译):
要创建引用类型的值, 必须使用新关键字。
我不这么认为 - 代表们怎么样?我是正确的还是我理解这段文字?
答案 0 :(得分:2)
嗯,总是不是真的,不是。一些例子:
源代码中不会出现new
的其他示例包括用户定义的运算符和转换。
答案 1 :(得分:1)
也会使用new关键字隐式创建代理。在幕后,编译器正在为您生成必要的代码。所以
MyEvent += SomeMethod;
变为
MyEvent += new EventHandler(someInstance, SomeMethod);
但确实如此,并非每次创建引用类型时都需要new
运算符。像拳击。
答案 2 :(得分:0)
代理是对函数的引用,正如您可能知道的那样,在声明函数时不使用“new”关键字。
但是在声明对象时会使用它,例如:
MyObject obj = new MyObject();