我们可以将 IDisposable 定义为抽象类,而不是像下面这样的接口。有什么缺点?
public abstract class absDisposable
{
public abstract void Dispose();
}
public class childClass : absDisposable
{
SqlConnection objConnect = new SqlConnection("connstring");
public override void Dispose()
{
if (this.objConnect != null)
{
this.objConnect.Dispose();
this.objConnect = null;
}
}
}
我在同一个接口中编写了该代码,否则没有抽象类没有实现的原因。这与我们定义接口的方式相同,没有任何实现。对吗?但是,问题不仅在于 IDisposable,还在于我们使用的所有接口。为什么我们不简单地编写我们需要的方法,为什么我们要再上一层来实现接口?由于接口没有任何用途。我们总是必须在派生类中给出我们自己的实现,所以代码的可重用性也没有问题。如果我们不能重用代码,接口如何解决 C# 中缺乏多重继承的问题?我只想知道接口在什么情况下证明了它的存在?