2015-05-30 64 views
0

我有3个班命名为OptionFeatureFabricMaterial父子级转化与泛型类型

Fabric是一个子类的Material

现在我有一个OptionFeature<Fabric>类型的对象。如何将这个对象转换成OptionFeature<Material>

+0

通用方差。 – PetSerAl

回答

0

尝试像只针对接口和委托,不上课支持这一

class Program 
    { 
     static void Main(string[] args) 
     { 
      OptionFeature optionFeature = new OptionFeature(); 
      optionFeature.material = new Material(); 
      Fabric fabric = (Fabric)optionFeature.material; 
      List<Material> materials = new List<Material>(); 
      List<Fabric> fabrics = materials.Select(x => (Fabric)x).ToList(); 


     } 
    } 
    public class OptionFeature 
    { 
     public Material material {get;set;} 
    } 
    public class Material 
    { 
    } 
    public class Fabric : Material 
    { 
    }​