Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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# 从基类继承所有IEnumerator_C#_Oop - Fatal编程技术网

C# 从基类继承所有IEnumerator

C# 从基类继承所有IEnumerator,c#,oop,C#,Oop,我对C#真的很陌生,所以请对我温柔一点 我正在尝试编写一个从DataGridView类继承的类。在大多数情况下,这很简单。。。但我在尝试使用任何linq查询访问基本集合(DataGridViewRowCollection等)时遇到问题。。。据我所知。。。我需要实现IEnumerable和IEnumerator接口。。。但是在我继承的类中,我在reguard中没有额外的功能。所以我只想确保继承的类提供与DataGridView相同的查询功能 我读了很多关于这方面的书。。。但我似乎找不到一个直接的答

我对C#真的很陌生,所以请对我温柔一点

我正在尝试编写一个从DataGridView类继承的类。在大多数情况下,这很简单。。。但我在尝试使用任何linq查询访问基本集合(DataGridViewRowCollection等)时遇到问题。。。据我所知。。。我需要实现IEnumerable和IEnumerator接口。。。但是在我继承的类中,我在reguard中没有额外的功能。所以我只想确保继承的类提供与DataGridView相同的查询功能

我读了很多关于这方面的书。。。但我似乎找不到一个直接的答案,可以说“不管什么……只是从基类实现了这些东西”,编程的方式。。。。当然

显然,在基类不需要显式强制转换的情况下,我希望我的派生类(即me)的用户不必费心处理大量显式强制转换

最后。。。无论我最终在派生类中做什么。。。我是否需要将我的类声明为:

MyDataGridViewClass:DataGridView、IEnumerable、IEnumerate

或者,一旦我在代码中修复了必须修复的内容,IEnumerable、IEnumerate部分将是隐式的吗


提前感谢。

在任何接口的基类中执行的任何实现都将在继承器(子类)上可用

这些都是有效的:

FooBar fooBar = new FooBar();
Foo foo = fooBar;
IFoo ifoo = foo;

ifoo.Foo();
如果显式声明了
Foo
方法:

class Foo : IFoo
{
   void IFoo.Foo() { }
}

必须要有演员阵容。

你必须是f$%s$%^&M。。。我花了大约一天半的时间在这上面。。。结果发现我的文件中只缺少了“usingsystem.Linq”。当我在基类上做相同的测试时,我在一个不同的文件中,该文件已经包含了该语句。。。感谢Daniel抽出时间…这就是我理解事情如何运作的原因…只是因为那件小事而对我不起作用…当你不知道自己在做什么的时候,事情就发生了,我想…编译器/智能感知没有用它无关的信息帮我太多忙。
class Foo : IFoo
{
   void IFoo.Foo() { }
}