gpt4 book ai didi

c# - 是否可以使用库中的类型创建 DataContract?

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:51 25 4
gpt4 key购买 nike

我正在设置 WCF 界面。我的数据契约(Contract)如下所示:

[DataContract(Namespace = "wcf")]
[KnownType(typeof(TypeFromLibrary))]
public class MyClass
{
[DataMember]
public TypeFromLibrary myProp { get; set; }
}

是否可以像这样在 DataContract 中使用 TypeFromLibrary?我看到的所有示例都只使用 int、string、double 等作为属性类型。

注意:我在 WCF 的服务器端和客户端都有库的副本。

最佳答案

我只是想发布对我有用的内容,以防其他人遇到问题。

[DataContract(Namespace = "wcf", IsReference = true)]
public class NewType : TypeFromLibrary
{
public NewType(TypeFromLibrary baseObj)
{
//set all props here
}

public event EventHandler<SomeEventArgs> SomeEvent;

[OperationContract]
public string SomeBaseFunction()
{
}

[DataMember]
public CustomBaseProp SomeProp { get; set; }

[DataMember]
public int SomeInt { get; set;}
}

只要 SomeProp 为空,这就有效。一旦为 SomeProp 赋值,同样的错误就会出现。我进入了下一个级别并装饰了 CustomBaseProp 并且成功了。但是,我停在那里,因为 CustomBaseProp 中有更多的自定义类,想寻求替代解决方案。要完全修复它,您必须使用适当的属性装饰 CustomBaseProp 类和其他自定义类。

关于c# - 是否可以使用库中的类型创建 DataContract?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32142052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com