C#类的问题

如果我需要一个Message对象。有GroupMessage和FriendMessage两种类型。GroupMessage有FromGroupId和FromId和Text三个属性,而FriendMessage没有FromGroupId属性。应如何做?要几个类?

阅读 3.7k
1 个回答

一 二 三均可
推荐三个类的,GroupMessage和FriendMessage继承Message,便于扩展

    public class Message
    {
        public int FromId { get; set; }
        public string Text { get; set; }
    }

    public class GroupMessage : Message
    {
        public int FromGroupId { get; set; }
    }

    public class FriendMessage : Message
    {
    }

一个类的话,将FromGroupId设为可空类型,通过值是否为空来判断消息类型

    public class Message
    {
        public int? FromGroupId { get; set; }
        public int FromId { get; set; }
        public string Text { get; set; }
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进