gpt4 book ai didi

c# - 使类依赖项出现在界面中而不是属性

转载 作者:太空宇宙 更新时间:2023-11-03 17:33:40 26 4
gpt4 key购买 nike

我有一个接口(interface)和一个实现该接口(interface)的类。

我要求该类依赖于 ITimer。创建私有(private)成员并传入构造函数参数,并将私有(private)成员分配给该构造函数参数。

如何使接口(interface)以某种方式声明此 ITimer 但不作为属性?好像我不能正确测试 MyClass ,但我认为接口(interface)应该是类必须遵守的契约(Contract),因此我的类具有依赖关系,那么我如何让它出现在接口(interface)中?

public interface IMyInterface
{
void DoSomething();
}

public class MyClass : IMyInterface
{
private ITimer MyTimer;

public MyClass(ITimer timer)
{
MyTimer = timer;
}

public void DoSomething()
{

}
}

最佳答案

这不能通过 C# 中的接口(interface)来完成。您可以做的是从接口(interface)的抽象类继承。

public abstract class AMyClass
{
protected ITimer MyTimer;

public AMyClass(ITimer timer)
{
MyTimer = timer;
}

public abstract void DoSomething();
}

public class MyClass : AMyClass
{
public override void DoSomething()
{

}
}

关于c# - 使类依赖项出现在界面中而不是属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377138/

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