2011-01-26 7 views
0

변수 값을 객체로 변환하는 방법이 필요합니다. C# 변수 값을 객체로 변환

string viewName = "taDataView"; 

내가해야 할 변수이 같은으로 변수의 값을 변환하는 방법 가정하자 : ... PHP의 평가()와 같은

taDataView viewModel = Container.Resolve<taDataView>(); 

뭔가를

도움 주셔서 감사합니다.

+0

당신은 IOC/DI 프레임 워크로 작업하는 것 같습니다. 어느 것을 언급 할 수 있습니까? – Biswanath

+0

PRISM 및 Unity와 함께 Silverlight에서이를 사용합니다. 이 컨테이너는 Unity에 속합니다. – adaoss

답변

1

하나의 옵션은 Unity의 명명 된 등록을 사용하는 것입니다 (Unity 2.0 도움말 파일에서 유형 및 등록 이름으로 객체 해결 참조). 그래도 기본 유형 (일반적으로 인터페이스)을 알아야합니다.

// Create container and register types 
var myContainer = new UnityContainer(); 
myContainer.RegisterType<IMyService, DataService>("Data"); 
myContainer.RegisterType<IMyService, LoggingService>("Logging"); 

// Retrieve an instance of each type 
var myDataService = myContainer.Resolve<IMyService>("Data"); 
var myLoggingService = myContainer.Resolve<IMyService>("Logging"); 

달리, Create an object knowing only the class name (특히 Marc Gravell's answer)를 참조.

편집 : 제네릭을 사용하는 예제를 수정했습니다.

+1

답을 뒷받침하는 것만으로 http://msdn.microsoft.com/en-us/library/ff664762(v=pandp.50).aspx. – Biswanath

관련 문제