Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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#如何从基类引用继承的类_C#_Class_Inheritance - Fatal编程技术网

C#如何从基类引用继承的类

C#如何从基类引用继承的类,c#,class,inheritance,C#,Class,Inheritance,我试图从基类引用继承的类,下面是一个示例: public class A { //Some methods Here } public class B : A { //Some More Methods } 我还有一个列表,其中我添加了B,我正试图从中访问B。如果您已将B实例添加到列表扩展方法中,以便获取列表中属于B实例的所有项目的子集,是否有办法从我拥有的列表中获取B List<A> items = ... List<B> bItems = items.OfType&

我试图从基类引用继承的类,下面是一个示例:

public class A
{
//Some methods Here
}
public class B : A
{
//Some More Methods
}

我还有一个
列表
,其中我添加了
B
,我正试图从中访问
B
。如果您已将
B
实例添加到
列表扩展方法中,以便获取列表中属于B实例的所有项目的子集,是否有办法从我拥有的
列表中获取
B

List<A> items = ...
List<B> bItems = items.OfType<B>().ToList();
foreach (B item in bItems)
{
    ...
}
列表项=。。。
列表位=items.OfType().ToList();
foreach(比特表中的B项)
{
...
}

您可以添加类型为a的属性,并提供一个构造函数来分配它。然后可以将类型B的实例分配给该属性

public class A
{
      public A Child{ get; private set; }

      public A(){}

      public A( A child )
      { 
          this.Child = child;
      }
}

无论如何。。你真的确定需要强大的亲子关系吗?我想你可以避免它,让一切都更清楚,但你应该提供你的真实世界的例子(或更接近你真实世界的用法)来帮助;请添加一些关于“从基类引用继承的类”在本文中的含义的详细信息。至于你的列表问题,你应该研究type()的方法
,这听起来像是你不应该尝试做的事情
public class A
{
      public A Child{ get; private set; }

      public A(){}

      public A( A child )
      { 
          this.Child = child;
      }
}