Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用asp.net core在模型类中创建泛型属性_C#_Asp.net Core - Fatal编程技术网

C# 如何使用asp.net core在模型类中创建泛型属性

C# 如何使用asp.net core在模型类中创建泛型属性,c#,asp.net-core,C#,Asp.net Core,如何使用asp.net core在模型类中创建泛型属性。在上面的代码中,我想 “C”属性作为泛型属性,并将该属性转换为特定类 在“C”中将是动态属性 范例 public class A { public int Val {get; set;} public int B {get; set;} public T C{get; set;} // make generic property } “C”属性具有D或E公共A类 public Class D { public int

如何使用asp.net core在模型类中创建泛型属性。在上面的代码中,我想

“C”属性作为泛型属性,并将该属性转换为特定类

在“C”中将是动态属性

范例

public class A
{
   public int Val {get; set;}
   public int B {get; set;}
   public T C{get; set;} // make generic property
}
“C”属性具有D或E公共A类
public Class D
{
  public int Value1 {get; set;}
}

public Class E
{
  public int Value2 {get; set;}
}
{ 公共int A{get;set;} 公共int B{get;set;} 公共tc{get;set;} } 然后像这样使用它:

public class A<T>
{
   public int A {get; set;}
   public int B {get; set;}
   public T C {get; set;} 
}
var a=newa()

var a=newa()

您需要将类声明为
公共类A
公共对象C{get;set;}?在A的实例中,属性不能同时具有两种类型,或者创建A的两个实例,或者这两种类型具有继承关系Generics允许您的实现忽略属性的类型,但在使用它时,仍然必须定义确切的类型。这能回答你的问题吗?我的意思是说“C”属性将是动态属性,我们可以在其中添加任何类型的类。也许你应该解释一下你想如何使用它it@Unknow,FatTiger的答案是正确的。您可以尝试使用
var aD=new A{C=new D()};var aE=newa{C=newe()},因此C可以是D或E类型。
var a = new A<D>() 
var a = new A<E>()