Я видел примеры того, как преобразовать строку в тип класса, но мне не удалось применить ту же логику к классу, у которого есть конструктор, который сам берет строку как параметр. Это то, что я видел на других постах.C# преобразовать строку в класс с конструктором со строковым параметром
Type type = Type.GetType("classNameAsString");
object instance = Activator.CreateInstance(type);
То, что я хочу сделать, это применить то же самое к этому случаю
public class ExampleClass
{
public ExampleClass(string strParameter)
{
}
}
я обычно создать экземпляр ExampleClass в
var exClassInst = new ExampleClass("stringParam");
Как я могу добиться того же, но первое преобразование Строка «ExampleClass» для ввода и последующего создания экземпляра. Спасибо за помощь.
Спасибо за быстрый ответ. До создания экземпляра с параметром string кажется прекрасным, однако, когда я пытаюсь получить доступ к методам класса через instance.DoSomething(), я получаю объект с ошибкой, не содержит определения для DoSomething .... Когда я создаю экземпляр класс, я вижу методы класса. Не уверен, что происходит. – user2217057
@ user2217057: Это потому, что 'CreateInstance' возвращает экземпляр как' object', вы должны отдать его в 'ExampleClass', чтобы иметь возможность использовать соответствующие члены этого класса. –
Как бы вы выполняли кастинг, если тип класса определяется динамически в цикле на основе заданного типа строки? Мне может быть что-то не хватает, но приведение типа объекта в определенный тип класса будет работать, если тип класса уже известен. – user2217057