Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这里有什么新的()函数?_C#_Design Patterns_Proxy Pattern - Fatal编程技术网

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月版。