【发布时间】:2020-01-23 04:22:08
【问题描述】:
public class Customer
{
public int ProductId { get; set;},
public string ProductName { get; set;},
public string ProductDescription { get; set;},
public float SalesAmount { get; set;}
}
public class Tracker<T>
{
[Required, ValidateObject]
public T Body { get; set; }
public Date date { get; set; }
public string GUID{ get; set; }
}
有没有办法通过句点或连接字符串自动创建一个类,它将在 Visual Studio 中自动编译
public class CustomerTracker : Tracker<Customer>
{
}
因此,我可以选择任何类,而不是像上面那样创建 100 个类,它会自动生成这个类。是否有任何 C# 库函数允许这样做?
所以Customer.Tracker = public class CustomerTracker : Tracker<Customer>Customer.ListTracker = public class CustomerTracker : Tracker<IEnumerable<Customer>>
或Food.Tracker = public class FoodTracker : Tracker<Food>
【问题讨论】:
-
创建类是什么意思?你还没有创建类,你刚刚声明了类。 New() 或 Activator.CreateInstance() 创建一个类的实例..你能准确地说你想要什么,它不是很清楚......
-
嗨@Frenchy 我希望能够通过编写这个 Customer.Tracker 来动态创建类,并让 C# 编译器自动知道它的含义,而不是遍历我们的 1000 个类并手动声明类,
-
最好描述一下你要解决的问题。
-
您对反射所做的任何事情都需要将代码加载到运行时中,因此编译器将无法自动知道它的含义。代码模板系统可能对您更有用。所以基本上他们会根据你的简短表格为你生成类文件。然后可以在您的项目中使用它,编译器将了解这些类。查看链接:docs.microsoft.com/en-us/dotnet/framework/…
-
嗨@mtkachenko,我们必须声明 1000 个用跟踪器包装类的类,而不是手动创建 1000 个类,我希望有一个以自己的方式可读的包装函数跨度>
标签: c# asp.net-core dynamic reflection .net-core