Nun, für eine Sache ArrayList
ist nicht generisch ... meinst du List<Customer>
?
Sie können Type.GetType(string)
verwenden, um das Objekt Type
zu erhalten, das einem Typ durch seinen Namen zugeordnet ist. Wenn die Assembly weder mscorlib noch der aktuell ausgeführte Typ ist, müssen Sie den Assemblynamen angeben. In beiden Fällen benötigen Sie auch den Namensraum.
Sind Sie sicher, dass Sie wirklich einen generischen Typ benötigen? Generika bieten meist Kompilierzeit Typ Sicherheit, die Sie nicht viel haben werden, wenn Sie den Typ zur Ausführungszeit finden. obwohl Sie kann es nützlich finden ...
Type elementType = Type.GetType("Customer");
Type listType = typeof(List<>).MakeGenericType(new Type[] { elementType });
object list = Activator.CreateInstance(listType);
Wenn Sie benötigen etwas mit dieser Liste tun, können Sie auch wenn allgemeinere Reflexion tun müssen, ... z eine generische Methode aufrufen.
John, es gibt keine generische Implementierung der ArrayList-Klasse im .NET-Framework. Bob, das ist nicht der Fall für die Frage, aber wenn Sie in C# 2.0+ programmieren, sollten Sie die ArrayList für etwas Generisches ersetzen. – senfo