刚刚合并了一个类库的两个分支,我发现一个已经为模型属性添加了几个JsonIgnore
属性。这些将破坏该库的Web客户端,但在该库的移动客户端中是必需的。我想创建一个新的' Json忽略'如果调用代码不是Web客户端,则仅忽略标记属性的属性。然后我想挂钩序列化代码来查看我的新属性与正常属性。
答案 0 :(得分:1)
不是个好主意。我的建议是共享项目中的类(让我们称之为模型)实际上是共享的(没有属性),而在输出模型的其他项目中,您可以使用属性定义类。像这样:
//in MyProject.Core which is shared
class User
{
public int Id { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}
//in MyProject.WcfApi which has wcf services for other teams
[DataContract]
class UserOutput
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string UserName { get; set; }
//no password property here
}
//in MyProject.WebApi which has some web apis for js
class UserOutput
{
[MyJsonRelatedAttribute]
public int Id { get; set; }
}