Я довольно новый с C# и .NET. Я пытаюсь смоделировать график с разнородными данными. Я имею в виду, я хотел бы быть в состоянии сделать что-то вроде этого:Пробуждение дженериков и графическое моделирование
// Simple graph modeling using generics
public class Node<T>
{
private T data;
public Node(T data)
{
this.data = data;
}
}
public class Edge<T, U>
{
private T source;
private U destination;
public Edge(T source, U destination)
{
this.source = source;
this.destination = destination;
}
}
Строительство это так:
Node<Person> p = new Node<Person>(new Person("Red John"));
Node<Computer> c = new Node<Computer>(new Computer("MyComputer"));
graph.AddNode(p);
graph.AddNode(c);
graph.AddEdge(new Edge<Person, Computer>(p, c));
Но, конечно, определение графика класс не позволит мне сделать это:
public class Graph<T> where T : CommonBaseClass
Я также попытался определить базовый класс для человека и компьютера, но, конечно, он не работает. Любое предложение помощи/идеи? Мне нужны гетерогенные данные, потому что мне нужно объединить список разных узлов.
Спасибо за помощь!
Пожалуйста, пост пример компиляции кода со всем необходимым кодом, особенно в том числе определение `Graph`, `` Person` и Computer`. –
2010-11-23 23:28:29