C# 这里有什么新的()函数?
我一直在学习设计模式,我从一个类中看到了这样一个方法调用:C# 这里有什么新的()函数?,c#,design-patterns,proxy-pattern,C#,Design Patterns,Proxy Pattern,我一直在学习设计模式,我从一个类中看到了这样一个方法调用: class Client: SubjectAccessor { static void Main() { Console.WriteLine("Proxy Pattern\n"); ISubject subject = new Proxy(); Console.WriteLine(subject.Requesy()); subject = new(); //He
class Client: SubjectAccessor {
static void Main() {
Console.WriteLine("Proxy Pattern\n");
ISubject subject = new Proxy();
Console.WriteLine(subject.Requesy());
subject = new(); //Here is what I am asking
COnsole.WriteLine(subject.Request());
}
}
如您所见,有一个subject=new()
在那里打电话,我想知道它是在创建一个新的代理实例
还是其他什么。我没有发现任何与此相关的东西
非常感谢你的帮助
如果你需要的话,我可以把整个代码粘贴到一本书上,所以我需要把它写在这里
谢谢。这是书中的一个打字错误。目前没有有效的C#版本(它会引发“类型预期”编译器错误)。没有上下文,就不可能知道它应该是什么。这就是代理类。以前从未见过这样的语法。最好不要使用这些东西,因为它只会降低可读性。我看不出它是如何编译的。在这个上下文中,“new”是新的操作符,它总是要求每个C#语法都有一个typename。好吧,这是错误的,而且代码甚至无法编译 C#中的新关键字只能具有此链接中描述的3种含义:
我是那本书的技术编辑;现在我面前有一本。我的副本上写着:
class Client : SubjectAccessor {
static void Main() {
Console.WriteLine("Proxy Pattern\n");
ISubject subject = new Proxy();
Console.WriteLine(subject.Request());
Console.WriteLine(subject.Request());
ProtectionProxy subject = new ProtectionProxy();
Console.WriteLine(subject.Request());
现在,这里有一个错误;变量“subject”已声明两次。显然,我在复习这本书时没有发现错误。(这里正确的做法是从“subject”的第二个声明中删除该类型)
但是,这不是您报告的错误
你确定那不是你的副本上说的吗?我有2007年12月的第一版;你们有什么版本?也许有人试图在以后的版本中纠正这个错误,并把它搞砸了?我的猜测是,有人试图通过从错误行中删除两个提到的ProtectionProxy类型来纠正错误,而不是删除第一个。您从哪里看到的?看起来像一个排版#3.0设计模式-Judith Bishop第27页它是一个如上所述的类型。下面显示它应该是subject=new ProtectionProxy();那么,应该是什么呢<代码>主题=新代理()代码>?@Braveyard-没有上下文我说不出来;例如,它可能意味着展示一个装饰者,在这种情况下,它可能类似于
newsomethingtothertype(subject)
最后一句话,绝对同意你的观点。非常喜欢链接的上下文。谢谢。这也是我所知道的。无论如何都应该是打字错误。你好,谢谢你的回复。我有2007年12月版。