如何在一个列表中加入两个类?

San*_*kan -1 c#

我有这种情况:

List<Details> trace; 
private class Details
{
    public string date { get; set; }
    public string type { get; set; }
    public string mex { get; set; }
}
private class Context
{
    public List<object> context { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何在trace列表中插入类DetailsContext?我的目标是创建一个多维列表,它具有类属性的关键,例如:date, type, mex, context和value作为动态内容.

ΦXo*_*a ツ 5

您可以为此目的使用两个类之间的抽象契约...例如,如果两个类都实现了一个新接口,让我们说你定义的MyCustomInterface,然后将列表声明为List<MyCustomInterface> trace;然后你可以添加这两个类的对象......

例:

 List<MyCustomInterface> trace; 

    private class Details: MyCustomInterface
    {
        public string date { get; set; }
        public string type { get; set; }
        public string mex { get; set; }
    }

    private class Context:MyCustomInterface
    {
        public List<object> context { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

然后你可以随时做

trace.Add(new Context(...));
trace.Add(new Details(...));
Run Code Online (Sandbox Code Playgroud)

  • 由于两个类之间没有共同点,我看不到使用该接口的好处.为什么不使用```object```? (3认同)