首页 > 解决方案 > 如何使用带有方法的接口

问题描述

我不确定我使用的术语是否正确,但基本上我想要这样的东西。

public interface IMovements
{
    Boolean Run(string mammal);
}
public MovementService: IMovement
{
    public Boolean Run(string mammal)
    {
       if(mammal == human)
       {
         Console.WriteLine("Human is now running");
         return true;
       }
       else
       {
         Console.WriteLine("This creature can't run");
         return false;
       }
    }
}

然后在主类中我只想调用接口来执行运行操作。

[Dependency]
IMovement Mov {get; set; }

//Do something with Mov
Mov.Run("Human");

Move.Run("Worm");

输出将是:

Human is now running
This creature can't run

标签: c#interface

解决方案


如果您想将依赖项作为接口注入,您可以选择

  • 您传递接口的构造函数注入和像 Ninject 这样的依赖注入框架将为您实例化它
  • 如您所描述的属性注入。[Import]来自 Microsoft 的 MEF 可以通过Attribute做到这一点。以及与[Dependency]属性的统一。

推荐阅读