Как обрабатывать классы со статическими методами с помощью Ninject?
То есть, в С# нельзя иметь статические методы в интерфейсе, а Ninject работает на основе использования интерфейсов?
Мой пример использования - это класс, который я бы хотел, чтобы он имел статический метод для создания непосещенный экземпляр сам по себе.
РЕДАКТИРОВАТЬ 1
Чтобы добавить пример в класс TopologyImp, в методе GetRootNodes(), как мне создать некоторые классы iNode для возврата? Смогу ли я построить их с обычной практикой кода или я каким-то образом использую Ninject? Но если я использую контейнер для создания, тогда я не дал эту библиотеку знания о МОК, то?
public interface ITopology
{
List<INode> GetRootNodes();
}
public class TopologyImp : ITopology
{
public List<INode> GetRootNodes()
{
List<INode> result = new List<INode>();
// Need code here to create some instances, but how to without knowledge of the container?
// e.g. want to create a few INode instances and add them to the list and then return the list
}
}
public interface INode
{
// Parameters
long Id { get; set; }
string Name { get; set; }
}
class NodeImp : INode
{
public long Id
{
get { throw new NotImplementedException(); }
set { throw new NotImplementedException(); }
}
public string Name
{
get { throw new NotImplementedException(); }
set { throw new NotImplementedException(); }
}
}
// Just background to highlight the fact I'm using Ninject fine to inject ITopology
public partial class Form1 : Form
{
private ITopology _top;
public Form1()
{
IKernel kernal = new StandardKernel(new TopologyModule());
_top = kernal.Get<ITopology>();
InitializeComponent();
}
}