我今天在编码中看到了一些奇怪的东西。

这是示例代码:

public class SomeClass
{
   public IUtils UtilitiesProperty { get; set; }
}

public interface IUtils
{
   void DoSomething();
}

public class Utils : IUtils
{
   void DoSomething();
}


这样编译就可以了。

那么什么是UtilitiesProperty?它是实用程序吗?如果有多个类实现了IUTil,该怎么办?那它会编译失败吗?

最佳答案

除非您给它一个值,否则它没有任何值(或者说,它的值是null)。如果为它分配一个Utils引用,则是:它是一个Utils,通过IUtils界面公开。您只能给它null或实现IUtils的东西。

关于c# - 返回界面的自动属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1677427/

10-09 21:52