Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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#_Asp.net_Interface - Fatal编程技术网

C# 针对接口编程

C# 针对接口编程,c#,asp.net,interface,C#,Asp.net,Interface,我得到了下面的接口和针对它的程序。下面是我必须编程的客户端接口 public interface IThingyModel { DateTime TimeUpdated { get; set; } int ID { get; set; } int ThingId{ get; set; } List<int> userIDs { get; set; } IThingyModel Parse( JsonObject js ); } 公共接口iIngymo

我得到了下面的接口和针对它的程序。下面是我必须编程的客户端接口

public interface IThingyModel
{
   DateTime TimeUpdated { get; set; }
   int ID { get; set; }
   int ThingId{ get; set; }
   List<int> userIDs { get; set; }

   IThingyModel Parse( JsonObject js );
}
<代码>公共接口iIngymodel { DateTime时间更新{get;set;} int ID{get;set;} int ThingId{get;set;} 列出用户标识{get;set;} i ingymodel解析(jsonobjectjs); } 我很想知道为什么parse方法是在同一个类中编写的。我们为什么这样写


非常欢迎提供任何帮助或建议。

在本例中,
Parse
方法类似于构造函数或工厂方法。您将从JSON序列化创建对象的新实例。只有了解如何在类的字段中存储数据,才能知道如何执行此操作

实际上,您可能会从JSON中提取一组标准变量,并调用类的构造函数来初始化每个字段。但是不可能在接口中放置具有特定签名的构造函数。将
Parse
方法放在一个接口中意味着您必须能够从一组特定的数据(JSON格式)正确创建对象


将这样的方法作为类的一部分并不奇怪。唯一有点奇怪的是名字。实例方法名称中的动词通常指正在对类的实例执行的操作或类的实例。但是,您不是在解析类的实例,而是在解析其他内容以创建类的实例。调用类似于
CreateFromJSON
的方法会更标准。

关于c#的书籍和教程很多,请选择一个。我希望您理解这里的想法。他们希望您创建一个mock类来实现这个接口,并在您这边使用它的实现。当其他团队完成真正的实现时,只需将类替换为真正的类。它应该会起作用。Parse方法可以返回模拟类的实例。作为一个新手,我写了这篇文章。你可能想看看这篇文章。我编辑了我的问题,以便更清楚地了解我想知道的内容。谢谢你的回答。但我希望得到方法输出[Parse(jsonobjectjs)],其中包含列出的属性项。我怎样才能做到这一点。帮我it@jwg我也有同样的问题,你能更具体一点,或者可以参考任何资源来解释这一点吗issue@TinkuChacko这似乎和你问的完全不同。问另一个问题?@asna你能准确说出你想知道或不理解的内容吗?@jwg我想知道如何在C#中使用这种接口(完全相同的接口)。任何资源都可能有所帮助