【发布时间】:2020-04-22 05:33:02
【问题描述】:
我正在创建一个聊天应用程序。在聊天中,用户可以发送三种类型的消息:图像、文件和文本消息。我正在尝试创建一个名为 IMessege 的接口,其中包含 3 个类属性:
interface IMessege
{
object content { get; }
User sender { get; }
DateTime sent { get; }
}
然后我想在 3 个类中实现接口:FileMessege、ImageMessege 和 StringMessege。我希望他们都拥有User sender 和DateTime sent,但是content 我想来自StringMessege 的string 类型,file 的FileMessege 类型的FileMessege 等等......
我不认为这会是一个问题,因为所有这些类都继承自 object,但显然它是。
我该怎么做?
【问题讨论】:
-
听起来你的界面应该是通用的“内容类型”。您可以使用显式接口实现,但将其设为通用可能更简洁。我将添加这两个选项作为答案。
标签: c# inheritance interface polymorphism class-properties