I have a class that implements an interface. In another area of the code I check if that class instance contains that interface, but it doesn’t work. The check to see if the class contains the interface always fails (false) when it should be true.
Below is a simple representation of what I am trying to accomplish.
Example
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";
}
}
Did you make sure you tested against the correct interface? By that I mean, is your “is” test using the correct version of IModel? IModel doesn’t strike me as a unique type name, so you may have imported an incorrect namespace.
Try explicitly qualifying your check.
I.e.