【发布时间】:2019-06-26 23:50:41
【问题描述】:
我想知道是否有办法以这种方式从现有类中创建自定义类:
原始类:
public class Person
{
string name;
}
稍后在代码中:
var diffPerson = CreateDiffClass<Person>();
diffPerson.name.Value = "name";
diffPerson.name.Changed = false;
这个 diffPerson 不是 Person 类型,而是自定义创建的,对于 Person 中的每个变量本身都有一个,因此新变量是一个元组,其中 T 是变量的类型。
我希望它创建一个系统来比较同一类的 2 个实例。一个旧实例,一个新实例,保存新值,如果它改变了
除了在这个例子中显示之外,我真的不知道如何描述它,所以我希望它可以理解..
我希望这是通用的并且适用于任何给定的类
谢谢
【问题讨论】:
-
这个例子没有任何意义。
later in code中的代码甚至无法编译。Value或Changed,他们都不是string的成员。根据您的代码,它们甚至包含不同的值。你说的是类继承吗?也许你在谈论一个界面左右..? -
有点不清楚你要解决什么问题。为什么需要这个?
-
diffPerson 变量不是 Person 类型
-
听起来您基本上是在说您希望能够比较相同类型的 2 个类,而不考虑实际的类,对吗?
-
我想我明白你的要求。是的,这是可以做到的。不,它并不快。如果要查询和读/写未知类的所有公共属性,则需要查看“反射”类(System.Reflection)
标签: c#