Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.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# 为WCF代理类派生接口_C#_Wcf_Interface_Code Generation_Proxy Classes - Fatal编程技术网

C# 为WCF代理类派生接口

C# 为WCF代理类派生接口,c#,wcf,interface,code-generation,proxy-classes,C#,Wcf,Interface,Code Generation,Proxy Classes,问题: 我有两个(或更多)非常相似的类:一个类的属性是另一个类属性的子集。更具体地说,属性名称和语义是相等的,但不一定是它们的类型。但是,如果具有相同名称的属性的类型不同,则这些类型同样非常相似(在相同的意义上) 我想为所有相似类的集合派生公共接口,以便以相同的方式使用不同类的实例 由于我的类有100多个属性,如果可能的话,我希望避免手动创建接口 接口应包含所有类似类的所有属性集的并集。(当读取特定对象不存在的属性时,应该返回null。当设置了这样一个未定义的属性时,不应该发生任何事情。)因此我

问题:

我有两个(或更多)非常相似的类:一个类的属性是另一个类属性的子集。更具体地说,属性名称和语义是相等的,但不一定是它们的类型。但是,如果具有相同名称的属性的类型不同,则这些类型同样非常相似(在相同的意义上)

我想为所有相似类的集合派生公共接口,以便以相同的方式使用不同类的实例

由于我的类有100多个属性,如果可能的话,我希望避免手动创建接口

接口应包含所有类似类的所有属性集的并集。(当读取特定对象不存在的属性时,应该返回
null
。当设置了这样一个未定义的属性时,不应该发生任何事情。)因此我猜接口不再是真正合适的,而是一个包装类或其他不同的东西

上下文:

我正在使用WCF使用Web服务(CreateSalesOrder)。服务的输入消息需要XML模式类型Request\u SalesOrder的元素,该元素由其他XSD类型(如Request\u Item、Request\u shiptLocation等)的子元素组成

输出消息携带模式类型Response\u SalesOrder的元素,该元素具有模式类型Response\u Item、Response\u ShiptLocation等的类似子元素以及一些附加元素,例如类型Response\u PriceTotal的元素PriceTotal

我想使用ASP.NETMVC构建一个使用Web服务的UI。因此,我有一个视图,用于呈现用于创建销售订单的表单。提交Web服务请求后,必须使用Web服务响应消息中的值更新表单字段


表单字段绑定到访问代理类属性的视图模型。提交表单时,视图模型必须更新代理类A的实例,而如果表单是使用响应消息中的值呈现的,视图模型将读取代理类B的实例。

,但我不知道如何避免手动编写接口: