2011-02-26 2 views
1

Linq New 메서드를 사용하여 문자열에서 객체를 인스턴스화 할 때 어떻게 생성자 매개 변수를 제공합니까?Linq를 사용하여 문자열에서 객체를 인스턴스화하는 방법 새로운 메소드 및 생성자 매개 변수를 제공 하시겠습니까?

매개 변수없이 개체를 인스턴스화하려면 다음을 수행하지만 생성자 매개 변수가 필요한 DefaultWebRazorHostFactory에 하나를 제공하고 싶습니다. 이것이 가능한가?

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

답변

2

사용 AC# 1 예 :

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(); 
+0

확인 우리는 [이것을 사용]를 (http://msdn.microsoft.com/en-us/library/bb534318%28v=VS.100 % 29.aspx) .. 죄송합니다. 그 사실을 알지 못했습니다 ... 내 대답을 삭제해야합니다 .. :( –

+0

감사합니다! – Ropstah

관련 문제