В C#, как создать экземпляр объекта для класса; ? Но имя класса в строковой переменной **В C#, если известно имя класса (string), как создать экземпляр объекта из этого класса (string)?
String stringNameOfClass = "SomeClass";
{stringNameOfClass} theObject = new {stringNameOfClass}();
В JS, я думаю, мы могли бы использовать Eval()
var stringNameOfClass = "SomeClass";
eval('var theInstance = new ' + stringNameOfClass + '()');
theInstance.accessMethod();
[EDIT] Дано: имя Классы неизвестны Но известны методы
Я могу получить все имена классов в данной папке. Теперь я хочу создать экземпляр каждого из них соответственно своим пространством имен. Хотя, я знаю, что метод я заинтересован.
arrayOfString = getAllClassesByNamespace('TheNamespace','/path');
// now call testMe() per instance
foreach (string str in arrayOfString)
{
{str} arrayOfString[str] = new {str};
str.testMe();
//in js
eval('var obj_' + arrayOfString[str] + ' = new ' + arrayOfString[str] + '()');
//if first class found is TheClass.. this is what I want to do
TheClass obj_TheClass = new TheClass();
obj_TheClass.testMe();
}
Что вы _actually_ пытаетесь сделать? В большинстве случаев вопросы, связанные с «литой строкой в класс», это [проблемы XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem), и на них часто можно ответить: используйте 'Словарь' (вместо очевидного подхода к анализу). –
Я предполагаю, что вы после ['Activator.CreateInstance'] (https://msdn.microsoft.com/en-us/library/system.activator.createinstance%28v=vs.110%29.aspx), но важно, чтобы C#, вероятно, имел лучший способ делать то, что вы пытаетесь сделать. Чего вы пытаетесь достичь? – Sayse
Возможный дубликат [C# экземпляр класса из строки] (http://stackoverflow.com/q/2247598/50447) –