在接口中定义Serialization DataMember,然后在实现所述接口的类中使用它

Mat*_*att 4 .net c# serialization json

基本上,如果通过线路返回string Yoyo类型的对象,下面的代码应该工作并序列化YoyoData.

    public interface IHelloV1
    {
        #region Instance Properties

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

        #endregion
    }


    [DataContract(Name = "YoyoData", Namespace = "http://hello.com/1/IHelloV1")]
    public class YoyoData : IHelloV1
    {
        string Yoyo { get; set; }

        public YoyoData()
        {
            Yoyo = "whatever";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

dar*_*key 6

我认为不会.

DataMember属性不在派生类中继承.

有关更多详细信息,请参阅类型文档及其DataMemberAttribute定义方式:http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datamemberattribute.aspx.此属性指定属性,Inherited = false表示该属性不会传播到派生类.

有关属性属性的更多详细信息,另请参阅http://msdn.microsoft.com/en-us/library/84c42s56(v=vs.71).aspxInherited.

无论如何,这意味着在你的类定义中DataContract,属性Yoyo不会被认为是DataMember对我来说它将不会按预期工作.