Как создать экземпляр универсального типа для следующей ситуации
65 просмотра
1 ответ
у меня есть следующий код, пожалуйста, дайте мне знать, как создать экземпляр во время выполнения без указания типа во время кодирования.
MyObject productobject = something.
мне нужен объект типа
AccessValuesFrom<long,double>,AccessValuesFrom<long,string>..etc
Вообще я могу создать объект ниже:
AccessValuesFrom<long,double> accessData=productobject.ElementInfo.GetAccessValues<double>(something, something);
но мне нужен AccessValuesFrom во время выполнения. долго предопределено. как создать экземпляры для такого типа, когда нет прямого способа создания экземпляра (моя ситуация, которую я должен вызвать
productobject.ElementInfo.GetAccessValues<double>(something, something)
создать инстаграм.
Автор: Chandramouli Veebhudhi Источник Размещён: 12.11.2019 09:52Ответы (1)
3 плюса
Если у вас есть Type
объект на данный момент, вы можете реализовать GetAccessValues
так:
object GetAccessValues(Type type, something, something)
{
var result = Activator.CreateInstance(
typeof(AccessValuesFrom<,>).MakeGenericType(typeof(long), type));
//do something with something
return result;
}
Также будет хорошо создать интерфейс для всех общих типов AccessValuesFrom
с общими методами.
Вопросы из категории :
- c# Преобразовать десятичную в двойную?
- c# Как рассчитать чей-то возраст в C #?
- c# Как вы сортируете словарь по значению?
- c# В чем разница между int и Integer в Java и C #?
- c# Как создать новый экземпляр объекта из Типа
- c# Datatable против Dataset
- .net Действительно ли опечатанные классы действительно предлагают преимущества?
- .net Setting Objects to Null/Nothing after use in .NET
- .net Почему я не могу иметь абстрактные статические методы в C #?
- generics Почему в C # нельзя хранить объект List <string> в переменной List <object>
- generics Преобразование общего типа из строки
- generics Лучший способ проверить, является ли универсальный тип строкой? (С #)
- generics Есть ли ограничение, которое ограничивает мой общий метод численными типами?
- generics Каковы различия между «универсальными» типами в C ++ и Java?
- generics Приведение списка <int> в список <string> в .NET 2.0