gpt4 book ai didi

c# - 声明成员时可以指定接口(interface)吗?

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:41 25 4
gpt4 key购买 nike

我需要我的类中的一个成员成为控件,并为其实现我们定义的接口(interface)。

如果我这样声明...

public class MyClass
{
public Control MyMember;
}

...那么我没有得到接口(interface)方法,但是如果我这样声明它...

public class MyClass
{
public IMyInterface MyMember;
}

...然后我没有得到控制方法。有没有办法指定 MyMember 必须初始化为从两者继承的类型?我在 MSDN 上找不到。像...

public class MyClass
{
public Control : IMyInterface MyMember;
}

……或者……

public class MyClass
{
public Control MyMember : IMyInterface;
}

...除了这些都不起作用。我可以在声明成员时指定接口(interface)吗?如果可以,如何指定?

最佳答案

您可以使用带有约束的泛型:

public interface MyClass {
public T GetMyControl() where T : Control, IMyInterface { /* ........ */ }
}

关于c# - 声明成员时可以指定接口(interface)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/286584/

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