【问题标题】:Better Solutions to Implementing global entity properties in class在类中实现全局实体属性的更好解决方案
【发布时间】:2011-09-13 19:24:55
【问题描述】:

我使用类来响应某些网页中的 PageMethods。 Asp.net 引擎自动将 Class 序列化为 JSON。我有几个类具有共同的属性,如"RequestState"-Enum"Error"-String,它们代表请求的状态和描述错误的字符串(如果有)。例如看看下面这个类,

public  class Contacts
{
    public string Name { get; set; }
    public string Country { get; set; }
    public RequestState RequestState { get; set; }
    public string   Message { get; set; }
}

最后两个属性有超过 4-5 个类别。我如何抽象这些属性以使它们变得通用,而不是像我现在那样在每个类中声明它们。接口可能是可能的,我也希望你的想法,代码 sn-p 将不胜感激。谢谢:)

【问题讨论】:

    标签: c# asp.net web-services web-applications soap


    【解决方案1】:
    public abstract class MessageBase
    {
        public RequestState RequestState { get; set; }
        public string Message { get; set; }
    }
    
    
    public class Contacts : MessageBase
    {
        public string Name { get; set; }
        public string Country { get; set; }
    }
    

    【讨论】:

    • @chritofr 所以继承是你建议的好方法??任何原因
    • 嗨 - 是的。当数据可以从更具体的(Contacts)类抽象为更通用的(MessageBase)时,通常使用继承。如果您希望依赖的两者之间有一些共同的行为(方法),请使用接口。
    • 我会将此标记为答案,但会再等待一段时间,看看是否会出现更好的答案。感谢您提醒我的 oop' 基础知识 duh :)
    • 没问题!如果您遇到任何问题,请告诉我。 :D
    猜你喜欢
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 2014-11-22
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多