在 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# 教程时),我在接口中定义了一些骨架方法,继承它的类需要为它们提供实现。这是一个经典的例子,但这里的代码是不同的。任何人都可以让我知道定义这样接口的目的吗?
在这里的示例中使用接口IEntityChangeTracker实例的目的是什么。
当接受接口而不是具体实现时,您将在两个类之间创建解耦。这意味着,代码的调用者可以自由传递实现上述接口的任何对象,而不是特定的具体类型。你对调用者说"你可以传递实现上述接口的任何对象,我只关心它声明的成员/方法"
这样,您也为依赖注入打开了一扇门,并允许客户端支持接口隔离原则