C#接口有问题
我正试图理解这件事的原因。。。当我使用接口语法时,我真的很难理解我告诉编译器要做什么。有人能用“这就是正在发生的事情”的方式来解释吗 无论如何。。。我的主要问题是 两者的区别是什么C#接口有问题,c#,.net,interface,ienumerable,C#,.net,Interface,Ienumerable,我正试图理解这件事的原因。。。当我使用接口语法时,我真的很难理解我告诉编译器要做什么。有人能用“这就是正在发生的事情”的方式来解释吗 无论如何。。。我的主要问题是 两者的区别是什么 public IEnumerable<string> MyMethod() {...} 你为什么要用一个而不是另一个 public string MyMethod() : IEnumerable {...} 不会编译,这是一个区别 但你本来可以的 public class MyClass : IEnu
public IEnumerable<string> MyMethod() {...}
你为什么要用一个而不是另一个
public string MyMethod() : IEnumerable {...}
不会编译,这是一个区别
但你本来可以的
public class MyClass : IEnumerable<string> {...}
公共类MyClass:IEnumerable{…}
然后
public IEnumerable<string> MyMethod()
{
MyClass mc = new MyClass();
return mc;
}
public IEnumerable MyMethod()
{
MyClass mc=新的MyClass();
返回mc;
}
不会编译,这是一个区别
但你本来可以的
public class MyClass : IEnumerable<string> {...}
公共类MyClass:IEnumerable{…}
然后
public IEnumerable<string> MyMethod()
{
MyClass mc = new MyClass();
return mc;
}
public IEnumerable MyMethod()
{
MyClass mc=新的MyClass();
返回mc;
}
当您说public IEnumerable MyMethod(){…}
时,您正在声明一个方法,该方法返回实现IEnumerable
的某个实例。此实例可能是字符串数组、列表或您创建的某种类型
当您说
公共类MyClass:IEnumerable{…}
时,您正在声明一个实现IEnumerable
的类型。MyClass的实例可以由MyMethod返回。当您说public IEnumerable MyMethod(){…}
时,您正在声明一个方法,该方法返回实现IEnumerable
的某个实例。此实例可能是字符串数组、列表或您创建的某种类型
当您说
公共类MyClass:IEnumerable{…}
时,您正在声明一个实现IEnumerable
的类型。MyClass的实例可以由MyMethod返回。第一个是有效的方法声明,只要它存在于类中
即
class-MyClass
{
公共IEnumerable MyMethod(){…}
}
第二个是无效的C#,无法编译。它接近于类声明,tho
class MyClass : IEnumerable<string>
{
}
类MyClass:IEnumerable
{
}
第一个是有效的方法声明,只要它存在于类中
即
class-MyClass
{
公共IEnumerable MyMethod(){…}
}
第二个是无效的C#,无法编译。它接近于类声明,tho
class MyClass : IEnumerable<string>
{
}
类MyClass:IEnumerable
{
}
第二个示例的代码无效。(我假设你的意思是C#-这个问题值得加上标签。)如果你能使两个例子都有效,我们将告诉你剩下的区别。你的第二个例子不是有效代码。(我假设你指的是C#-这个问题值得加上标签。)如果你能使两个例子都有效,我们将告诉你剩下的区别。