Так что я все еще очень плохо знаком с C # и использую интерфейсы, и когда я подумал, что понял их, то понял, что не полностью. Я обнаружил, что путаница в том, что я ищу здесь некоторые пояснения, заключается в том, что когда вы создаете интерфейс и у него наследуется класс
public Interface ISomeInterface
{
//some methods/properties
}
public class FooClass : ISomeInterface
{
//implemented ISomeInterfaces methods/properties
}
И вы используете этот объект класса в реализации где-то в вашей программе
public class BarClass
{
private ISomeInterface _someInterface;
public BarClass(ISomeInterface someInterface)
{
_someInterface = someInterface;
}
//rest of class
}
Мое замешательство - почему я вижу, что он настроен таким образом. Я думал, что я бы создал новый объект типа FooClass, а также использовал бы объект типа FooClass в конструкторе как таковой:
public class BarClass
{
private FooClass _fooClass;
public BarClass(FooClass fooClass)
{
_fooClass = fooClass;
}
//rest of class
}
Чего мне не хватает, чтобы понять это? Я не думал, что буду непосредственно объявлять объекты интерфейса?
Заранее спасибо.