Как создать экземпляр объекта из строки, используя метод Linq New, и предоставить параметр конструктора? - PullRequest
1 голос
/ 26 февраля 2011

Как я могу предоставить параметр конструктора при создании экземпляра объекта из строки, используя метод Linq New?

Я делаю следующее, чтобы создать экземпляр объекта без параметров, однако я хотел бы предоставить один для моего DefaultWebRazorHostFactory, для которого требуется параметр конструктора. Возможно ли это?

Dim factoryType As Type = TypeFactory(typeName)
Dim o as Func(Of WebRazorHostFactory) = Expression.Lambda(Of Func(Of WebRazorHostFactory))(Expression.[New](factoryType)).Compile()

1 Ответ

2 голосов
/ 26 февраля 2011

Используя пример ac #:

Type type = typeof(SqlConnection);
var param = Expression.Parameter(typeof(string));

var body = Expression.New(type.GetConstructor(new Type[] {typeof(string)}),param);
var func = Expression.Lambda<Func<string, SqlConnection>>(body, param).Compile();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...