C# 从基类继承所有IEnumerator
我对C#真的很陌生,所以请对我温柔一点 我正在尝试编写一个从DataGridView类继承的类。在大多数情况下,这很简单。。。但我在尝试使用任何linq查询访问基本集合(DataGridViewRowCollection等)时遇到问题。。。据我所知。。。我需要实现IEnumerable和IEnumerator接口。。。但是在我继承的类中,我在reguard中没有额外的功能。所以我只想确保继承的类提供与DataGridView相同的查询功能 我读了很多关于这方面的书。。。但我似乎找不到一个直接的答案,可以说“不管什么……只是从基类实现了这些东西”,编程的方式。。。。当然 显然,在基类不需要显式强制转换的情况下,我希望我的派生类(即me)的用户不必费心处理大量显式强制转换 最后。。。无论我最终在派生类中做什么。。。我是否需要将我的类声明为: MyDataGridViewClass:DataGridView、IEnumerable、IEnumerate 或者,一旦我在代码中修复了必须修复的内容,IEnumerable、IEnumerate部分将是隐式的吗C# 从基类继承所有IEnumerator,c#,oop,C#,Oop,我对C#真的很陌生,所以请对我温柔一点 我正在尝试编写一个从DataGridView类继承的类。在大多数情况下,这很简单。。。但我在尝试使用任何linq查询访问基本集合(DataGridViewRowCollection等)时遇到问题。。。据我所知。。。我需要实现IEnumerable和IEnumerator接口。。。但是在我继承的类中,我在reguard中没有额外的功能。所以我只想确保继承的类提供与DataGridView相同的查询功能 我读了很多关于这方面的书。。。但我似乎找不到一个直接的答
提前感谢。在任何接口的基类中执行的任何实现都将在继承器(子类)上可用 这些都是有效的:
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() { }
}