我想知道是否可以通过这种方式从现有类中创建自定义类:
原始课程:
public class Person
{
string name;
}
稍后的代码:
var diffPerson = CreateDiffClass<Person>();
diffPerson.name.Value = "name";
diffPerson.name.Changed = false;
此diffPerson不是Person类型的,而是自定义创建的,即Person中的每个变量本身都有一个,因此新变量是一个元组,其中T是变量的类型。
我希望它创建一个用于比较同一类的2个实例的系统。一个旧实例和一个新实例,并保存新值以及更改后的值
除了在本示例中显示之外,我真的不知道如何描述它,所以我希望它是可以理解的。
我希望这是通用的并且可以在任何给定的类上工作
谢谢
答案 0 :(得分:0)
您可以这样声明一个通用类
public class CustomValue<T>
{
public T Value { get; set; }
public bool Changed { get; set; }
}
然后像这样使用它
public class Person
{
public CustomValue<string> Name;
}
随后的代码
var diffPerson = new Person();
diffPerson.Name = new CustomValue<string>();
diffPerson.Name.Value = "name";
diffPerson.Name.Changed = false;