使用属性创建类的实例
本文关键字:实例 创建 属性 | 更新日期: 2023-09-27 18:01:45
我有两个字段,像
private IFruit fruit;
private Banana banana;
创建Banana
的实例:
var banana = new Banana(fruit);
我想为Banana
字段创建一个属性来为我创建Banana
实例的工作!
属性不会导致任何代码被执行——你必须使用反射来访问它们。如果您愿意,您可以实现具有此行为的基类,并将反射代码添加到构造函数中:
abstract class AutoCreateBase
{
public MyBase()
{
// Reflection to go through the fields, find the attributes, and use Activator.CreateInstance() on each
}
}
class MyClass : AutoCreateBase
{
[AutoCreate]
private Banana banana;
}
也有一些容器如unity提供这个功能