代码之家  ›  专栏  ›  技术社区  ›  Vaccano

返回接口的自动属性

  •  2
  • Vaccano  · 技术社区  · 15 年前

    这是我今天在代码中看到的一些奇怪的东西。

    以下是示例代码:

    public class SomeClass
    {
       public IUtils UtilitiesProperty { get; set; }
    }
    
    public interface IUtils
    {
       void DoSomething();
    }
    
    public class Utils : IUtils
    {
       void DoSomething();
    }
    

    这汇编得很好。

    那么什么是效用属性呢?这是UTIL吗?如果有多个类实现了IUTIL,该怎么办?那么它是否会使编译失败呢?

    2 回复  |  直到 15 年前
        1
  •  13
  •   Marc Gravell    15 年前

    它没有任何价值,除非你给它一个(或者更确切地说,它有价值 null )如果你给它分配一个 Utils 参考,然后是:它是一个 乌迪斯 ,通过 IUtils 接口。你只能给它 无效的 或实现的东西 尤蒂斯 .

        2
  •  5
  •   Wim    15 年前

    它是一个可以保存实现IUTILS接口的对象的属性。更多的类可以实现这个接口,并且使用该接口可以让您获得一个抽象级别(只要类遵守接口契约,使用者就不在乎)。

    我建议你多读一些关于接口、抽象类等的使用。

    例如 MSDN docs .