c# - WCF 的不可序列化数据成员

标签 c# vb.net wcf serialization

我有一个非序列化对象,但我无权访问源代码。有哪些选项可以使其可序列化,以便我可以使用 WCF 通过网络发送它?

没有严重的原因表明该对象不可序列化。该类不可序列化,因为它的作者只是没有那样标记它,而且我无权访问该类。

最佳答案

检查一下:

public class Base
{
    public string Name { get; set; }
    public List<int> Values { get; set; }
}

[Serializable]
public class Derived : Base 
{
    public double X { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        var d = new Derived() { X = 3.1415, Values = new List<int> { 3, 1, 4, 1, 5 }, Name = "Pi" };
        var stream = new MemoryStream();
        new XmlSerializer(typeof(Derived)).Serialize(stream, d);
        string result = Encoding.UTF8.GetString(stream.GetBuffer());
    }
}

显然,您可以使派生类可序列化。生成的字符串也包含基类属性的值。

关于c# - WCF 的不可序列化数据成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19940017/

相关文章:

vb.net - 验证此日期格式的最简单方法是什么,例如 2010 年 7 月 31 日(且仅限此 fmt)

WPF 如何将 mahapps 图标动态对象绑定(bind)到按钮模板样式

TeamCity 中的 WCF 集成测试

wcf - 从 SWAGGER-UI 使用 Windows 身份验证调用 WCF

c# - 此 System.Net.Sockets.SocketException 中的 IP 是来自源还是目标?

c# - 在c# exe中包含Dll

c# - 检测到绑定(bind)失败 'Microsoft.Practices.EnterpriseLibrary.Validation'

asp.net - 在 ASP.NET 应用程序上记录 Visual Basic 异常的最佳方法是什么?

c# - ForEach lambda 表达式可以有可选的返回类型吗

c# - 删除自托管 Web Api 响应中的服务器 header