在 C# 中创建接口的对象

本文关键字:对象 接口 创建 | 更新日期: 2023-09-27 18:30:30

我正在学习使用实体框架(我仍然是实体框架和C#的新手) ,

在浏览其中一个教程时,我遇到了以下代码段:

 public class EntityF : IEntityWithChangeTracker,IEntityWithKey
    {
        private IEntityChangeTracker changetracker;
        public void SetChangeTracker(IEntityChangeTracker changetracker)
        {
            this.changetracker = changetracker;
        } 
    }

我们可以在这样的类中再引用一个接口吗?

 private IEntityChangeTracker changetracker;

甚至没有实现IEntityChangeTracker接口中定义的方法。

在这里的示例中使用接口IEntityChangeTracker实例的目的是什么。

到目前为止(在练习 C# 教程时),我在接口中定义了一些骨架方法,继承它的类需要为它们提供实现。这是一个经典的例子,但这里的代码是不同的。任何人都可以让我知道定义这样接口的目的吗?

在 C# 中创建接口的对象

在这里的示例中使用接口IEntityChangeTracker实例的目的是什么。

当接受接口而不是具体实现时,您将在两个类之间创建解耦。这意味着,代码的调用者可以自由传递实现上述接口的任何对象,而不是特定的具体类型。你对调用者说"你可以传递实现上述接口的任何对象,我只关心它声明的成员/方法"

这样,您也为依赖注入打开了一扇门,并允许客户端支持接口隔离原则