Изменение типа переменной динамически - PullRequest
0 голосов
/ 07 мая 2020

У меня есть аргумент в моей функции, который является объектом. Я хотел бы изменить тип этого объекта, чтобы иметь доступ к методам класса (string, int ...).

Я знаю методы преобразования и приведения. Но я хочу сохранить то же имя аргумента. Типа:

public void MyFunction(object test)
{
   SpecialConvertFunctionToString(test) // Now test is a string
   test.Contains(...)                   // I can use string methods on
}

Не знаю, возможно ли это! Спасибо!

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете выполнить приведение as или is, а затем сравнить.

Это проверит, имеет ли тест тип MyClass. Если это так, он преобразует его как этот тип в переменную myclassobj. Затем вы можете использовать методы, свойства MyClass как обычно

if (test is MyClass myclassobj)
{
    myclassobj.Name = "new name";
    myclasssobj.ExecuteMyMethod();
    //etc
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...