Дано 1:
public abstract class BaseEntityViewModel<T> where T : RealmObject
{
public T SomeMethod()`;
//какие-то проперти
}
public class SomeClass1 :RealmObject {}
public class SomeClass2 :RealmObject {}
Дано 2:
IList<T> origObjList; //List<RealmObject> -- получаю его в рантайме
IEnumerator<T> currObjList; // List<BaseEntityViewModel<SomeClass>> -- получаю его в рантайме
Итак здесь сразу 2 вопроса:
Как мне сказать что-то вроде:
((where have SomeMethod)currObjList).SomeMethod();
То есть как мне сказать предкомпилятору что я могу вызывать метод SomeMethod()
при этом не указывая напрямую тип? (я его наперед просто не знаю, а указывать родительский класс или интерфейс не могу) Даже если я получу object как работу метода -- не важно.
Я знаю что я могу получить из дано2 значение типа Т
в рантайме;
Как мне кастовать в рантайме результат прошлого пункта в даный Т? Если учесть, что конвертирование скорее всего не сработает... Как мне сделать запись "(TypeSomeType)objectRez" когда TypeSomeType
хранится в someTypeVariable
T result = (T)(obj.GetType().GetMethod("SomeMethod")?.Invoke(obj, null));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как можно реализовать с помощью генератора случайных вопросов считывания с файла *xml, для теста? Чтобы вопросы не шли по порядку, а в случайном...
В документации написано, что одним из аргументов spl_autoload_register передаётся функция autoloadОбъясните подробно, как работает функция spl_autoload_register...