为什么检查接口失败?

cho*_*obo 0 c#

我有一个实现接口的类.在代码的另一个区域,我检查该类实例是否包含该接口,但它不起作用.当它应该为真时,检查类是否包含接口总是失败(false).

下面是我想要完成的事情的简单表示.

  public interface IModel
    {
        bool validate();
    }


  public class SomeModel : IModel
    {
        public SomeModel
        {
        }

        public bool Validate()
        {
            return true;
        }        
    }



    // Dummy method
    public void Run()
    {
        SomeModel model = new SomeModel();

        if (model is IModel)
        {
           string message = "It worked";
        }
        else
        {
            string message = "It failed";
        }
    }
Run Code Online (Sandbox Code Playgroud)

Mar*_*son 7

你确定你测试了正确的界面吗?我的意思是,你使用正确版本的IModel进行"是"测试吗?IModel不会将我视为唯一的类型名称,因此您可能导入了错误的命名空间.

尝试明确限定您的支票.

   if (model is MyNamespace.IModel) ...
Run Code Online (Sandbox Code Playgroud)