在接口方法中访问接口实现器的类型
本文关键字:接口 类型 实现 访问 方法 | 更新日期: 2023-09-27 18:25:08
public interface IMy<T>
{
T Implementer
{
get;
}
}
public class MyClass : IMy<MyClass>
{
...
}
但我想要的是这个:
public interface IMy
{
I Implementer
{
get;
}
}
请接受,出于某种疯狂的原因,我需要一个接口来定义一个以实现者类型返回的方法。不?好的,假设它类似于XML资源管理器,因此例如调用我的接口ITree
。
主要帮助我组织(分开(,但是当我有一个需要我依赖约定的接口时,它似乎违背了目的。
您希望能够说"接口应该知道谁实现它,并在其定义中自动提供实现者的类型,由实现者继承"?喜欢
public interface IMy
{
ImplicitImplementerType SomeProperty
{
get;
}
}
我很确定这是不可能的。不过,这样的事情可以在更动态的语言中实现(我在这里猜测(。
不能静态指定此类返回类型。在 C#(和 CLR(中,没有"此类型"。但是你可以在运行时找到它:
var thisType = this.GetType()
由于我认为这不是你需要的,我必须告诉你,不可能做你想做的事。
当然,你的第一个代码片段会起作用,但你不希望这样。