gpt4 book ai didi

c# - 如果一个类继承自一个本身实现了 IDisposable 的接口(interface),该类是否也应该实现 IDisposable?

转载 作者:太空狗 更新时间:2023-10-30 00:43:25 25 4
gpt4 key购买 nike

如果一个类继承自一个本身实现了 IDisposable 的接口(interface),该类是否也应该实现 IDisposable?

例如

internal IMyInterface : IDisposable
{
Method1();
}

internal ClassA : IMyInterface, IDisposable
{
public Method1
{
...
}

public Dispose()
{
...
}

}

internal ClassA : IMyInterface
{
public Method1
{
...
}

public Dispose()
{
...
}

}

如能对此事作出任何澄清,我们将不胜感激。谢谢

最佳答案

接口(interface)是契约,没有任何实现。因此,实现接口(interface)的类必须实现直接或间接继承的接口(interface)指示的所有内容。如果不这样做,您的代码甚至无法编译。

是的,你必须实现 IDisposable 除非你从一个已经实现它的类派生你的类。 (注意:您不需要在您的类的继承列表中指定IDisposable接口(interface),但您必须实现它的成员。)


更新

注意:Visual Studio 使您可以轻松实现接口(interface)。 IMyInterface 下方会自动出现一个智能标签,只要您还没有完全实现它。您可以在智能标签菜单中选择接口(interface)的显式和隐式实现。通常您会选择隐式。然后VS会自动创建接口(interface)需要的(空的)方法、属性和其他成员,包括Dispose

关于c# - 如果一个类继承自一个本身实现了 IDisposable 的接口(interface),该类是否也应该实现 IDisposable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11208582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com