2012-02-25 80 views
0

见我的问题:如何从属性创建实例这是一个类?

public class Address 
{ 
public string Title{get;set;} 
public string Description{get;set;} 
} 
public class Tell 
{ 
public string Title{get;set;} 
public string Number{get;set;} 
} 
public class Person 
{ 
public string FirstName{get;set;} 
public string LastName{get;set;} 
public Address PAddress {get;set;} 
public Tell PTell {get;set;} 

void CreateInstanceFromProperties() 
    { 
    foreach(var prop in this.GetType().GetProperties()) 
    { 
     if(prop.PropertyType.IsClass) 
      { 
      //Create Instance from this property 
      } 

    } 
    } 
} 

我想从我的房屋创建如果一个类

+0

首先,请用真实的代码 - C#是区分大小写;你不能使用“Class”和“Public”,你的意思是“foreach”而不是“freeach”等。其次,你想如何创建一个实例 - 只需调用无参数构造函数? – 2012-02-25 11:30:46

+0

@Jon Skeet我编辑我的问题... – 2012-02-25 11:33:45

回答

4

如果你只想调用参数的构造函数,你可以使用Activator.CreateInstance非常简单。如果你想提供参数或更复杂的东西,它会变得更轻松,但它仍然是可行的。你还没说你想用实例来以后做什么,虽然:

foreach (var prop in this.GetType().GetProperties()) 
{ 
    if (prop.PropertyType.IsClass) 
    { 
     object instance = Activator.CreateInstance(prop.PropertyType); 
     // Step 2: ??? 
     // Step 3: Profit! 
    } 
} 
相关问题