嘿,我有一个从另一个类派生的新模型,该模型具有一些作为模型并从另一个类派生的属性。我需要将类型从 v1.models 更改为 v2.models。因此,例如我的新模型,我们将其称为模型 A,其中包含一个字段 something 和另一个作为类的字段。
public class A {
public string id { get; set; }
public List<Item> { get; set; }
}
然后我们有这样的 Item 类:
public class Item {
public string id { get; set; }
public List<People> People { get; set; }
}
人物类:
public class People : Person {
public string id { get; set; }
}
最后,person 类具有以下字段:
public Location Location {get; set; }
我的问题是我只需要为 A 类更新 V2 模型的位置,而没有其他任何调用它的类,因此我无法在管道中更改它。所以目前它是 A.People.LocationV1 而我需要它是 A.People.LocationV2 。为具有新的独立类的事物创建新的流程是最好的选择吗?这些类中有更多的字段,我只是省略了不必要的。
答案 0 :(得分:0)
如果这是您想要避免的,我认为您仍然需要更改大量代码。
由于将有 2 个 Person
和 2 种位置类型,我认为您需要使用通用类或使用不同的 PersonV2
创建一个新的 LocationV2
类。通常,后者是您可能想要使用的方法,因为它代表一种不同的数据类型。
以防万一你想使用泛型,我认为这应该是这样的。或者,您也可以将 class A
更改为泛型类。请注意,您仍需要使用 Item
、People
、Person
更改另一个类,以提供 Location
类类型。
public class A {
public string id { get; set; }
public List<Item<LocationV2>> { get; set; }
}
public class Item<T> {
public string id { get; set; }
public List<People<T>> People { get; set; }
}
public class People<T> : Person<T> {
public string id { get; set; }
}
public class Person<T> {
public T Location { get; set; }
}