这两个类应该是等价的:
的Class1.cs
[DataContract]
public class MyClass
{
[DataMember]
public int? UserId { get; set; }
public bool IsAdmin
{
get { return UserId == null; }
}
}
Resharper用表达体改变了这个:
class2.cs
[DataContract]
public class MyClass
{
[DataMember]
public int? UserId { get; set; }
public bool IsAdmin => UserId == null;
}
当我尝试序列化 class2.cs 时,它会抛出:
System.Runtime.Serialization.InvalidDataContractException:没有设置属性的方法' IsAdmin'在类型' MyClass'。
但是当我尝试使用WCF序列化 class1.cs 时,它按预期工作。
这有什么区别?