【发布时间】:2016-04-20 14:37:42
【问题描述】:
我正在使用静态列表来保留一些字符串值,当应用程序启动时只需要一个静态列表就足够了,但是过了一段时间我需要在不同的静态列表中保留不同的字符串,有没有办法深拷贝或克隆一个在 C# 中运行时具有不同名称的静态类
public class Foo
{
public static List<string> orders;
}
正如您在上面看到的,我可以轻松添加和删除静态 Foo.orders,但在运行时我需要另一个类,例如 Foo2 类。顺便说一下,列表必须是静态的,但是我需要从不同的类中获取列表,也不能在开发时创建新类,因为我不知道有多少静态列表
谢谢
【问题讨论】:
-
这正是对象实例的用途。 “开发时无法创建新类”。我认为你错过了一些重要的东西。我认为一个更好的问题可能是“我如何在我的代码中传递对象的实例”或类似的东西。
-
如果你需要在运行时添加一些东西,那么它就不是静态的。
-
“在运行时我需要另一个类,例如 Foo2 类”是什么意思?你的意思是你想要一个 second
Foo类,还是你真的在创建一个在运行时使用代码生成类? -
您是否只是为了方便而使用
static类?如果您需要执行任何类型的运行时操作,那么您可能需要传递一些东西,而不是使用对象的相同(且唯一)静态实例。 -
我认为不可能
标签: c# reflection static activator