2013-02-07 7 views
3
class Entity:IEntityName 
{ 
    #region IEntityName Members 

    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    #endregion 
} 

public class Person:IPerson 
{ 
    public IEntityName EntityName; 

    public Person() 
    { 
    } 

    public Person(IEntityName EntityName) 
    { 
     this.EntityName = EntityName; 
    } 

    public string ReverseName() 
    { 
     return string.Format("Your reverse name is {0} {1}",EntityName.LastName, EntityName.FirstName); 
    } 

    public override string ToString() 
    { 
     return string.Format("Name is {0} {1}", EntityName.FirstName, EntityName.LastName); 
    } 
} 

// Main Method 

private static string DisplayReverseName(string fName,string lName) 
{ 
     IUnityContainer container = new UnityContainer(); 
     container.RegisterType<IPerson, Person>().RegisterType<IEntityName,Entity>(); 

     IEntityName entityName = container.Resolve<IEntityName>(); 

     entityName.FirstName = fName; 
     entityName.LastName = lName; 
     var p = container.Resolve<IPerson>(); 
     return p.ReverseName(); // firstName and lastName are still null 
    } 

Person 생성자에 firstName과 lastName을 삽입하려면 어떻게해야합니까?유니티 생성자 매개 변수

+0

당신이 하나의 방법으로 모든 작업을하고있는 이유가 있습니까 :

당신은 여기에 몇 가지 추가 정보를 찾을 수 있습니까? (컨테이너를 인스턴스화하고 바인딩을 설정하는 등) –

+0

당신은 당연히 방법 밖으로 이동해야합니다. 처음으로 Unity를 사용하여 몇 가지 사항을 테스트했습니다 ... – Learner

답변