En utilisant des méthodes d'extension pour C#, comment inclure une méthode AddNode (voir ci-dessous) dans la classe ExtensionMethods pour la réutiliser, par opposition à devoir le mettre dans la classe d'implémentation ne le réutilise pas). La méthode d'extension AddNode doit pouvoir accéder au paramètre List dans l'implémentation. J'ai essayé le ci-dessous mais je trouve dans la méthode d'extension AddNode qu'il ne peut pas "voir" la liste des noeuds, même si cette liste est spécifiée dans l'interface ITopology, et la méthode d'extension est appliquée cette interface ITopology.comment puis-je accéder à un non-statique
Certaines des classes de collections de génériques .net semblent être en mesure de regrouper leurs méthodes "add", alors est-ce que je prends la mauvaise approche ici quelque part?
public interface ITopology
{
List<INode> Nodes { get; set; }
}
public interface INode
{
List<INode> GetChildren(NodeDepthType nodeDepth);
}
public static class ExtensionMethods
{
public static bool AddNode(this ITopology topIf, INode node)
{
this.Nodes; // <== ** Can't resolve symbol Nodes **
return true;
}
}
namespace TopologyLibrary_Client
{
using Topology;
public class TopologyImp : ITopology
{
public List<INode> Nodes { get; set; }
}
}