0
 [DataContract()]
 public class Contract
 {
    .........
Some Properties with DataMembers Attribute.
    ............
    ..............

  [DataMember(Name = "FirstName")]
  public string Name  {   get;   set;  }
 }

我有上面的课程,我有两个网络方法(操作)

在第一个 Web 方法中,我想将 Name 公开为 FirstName,在第二个 Web 方法中将 Name 公开为 LastName。

我不想创建单独的数据合同。

请告诉我如何实现这一目标?

4

2 回答 2

0

您可以使用反射并在运行时根据您当前使用的方法更改属性的值。在 StackOverflow 上查看这些链接:

如何 在运行时使用反射更改属性的参数来设置属性值

但我认为最好的方法是要么拥有 2 个单独的合同,要么创建一个包含两个属性的合同。

于 2011-04-06T15:44:00.027 回答
0

您还可以在序列化期间实现此类型的特殊情况的代理。例如,请参阅数据协定代理示例

于 2011-04-17T04:22:47.223 回答