Why is my class method not showing up when I implement an interface in my class?

I do not see MyLoad.TreeLoader(), but why? I performed iloaderbefore TreeViewLoad. I must be able to see TreeLoader().

namespace Rekursive
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //treeView1.Nodes.Add("Test");
            iloader MyLoad = new TreeViewLoad();
            MyLoad.loader("test", treeView1, 1);
        }
    }

    interface iloader
    {
        void loader(string nodeName, TreeView myTre, int id);
    }

    class TreeViewLoad : iloader
    {
       public void TreeLoader(TreeView tre)
        {
           // Here I want to call the loader
        }

        public void loader(string nodeName, TreeView myTre, int id)
        {
            myTre.Nodes.Add(nodeName + id.ToString());
            if (id < 10)
            {
                id++;
                loader(nodeName, myTre, id);
            }
        }
    }
}
+3
source share
4 answers

You mean an object through an interface, which means that you have access only to the methods and properties of the interface. The interface has a method for loading voids, TreeLoader belongs to the TreeViewLoad class.

TreeViewLoad myLoader = new TreeViewLoad();
// now you can access loader and TreeLoader.
+5
source

MyLoad iloader, . TreeLoader, MyLoad TreeViewLoad

+2

MyLoad ILoader ( iloder ), TreeLoader() , . , TreeViewLoad.

ILoader myLoad = new TreeViewLoad();

((TreeViewLoad)myLoad).TreeLoader(...);

- , , - .

+1

:

namespace Rekursive
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            iloader MyLoad = new TreeViewLoad();
            ((TreeViewLoad) MyLoad) .TreeLoader (treeView1);
        }
    }

    interface iloader
    {
        void loader (string nodeName, TreeView myTre, int id);
    }

    class TreeViewLoad: iloader
    {
        public void TreeLoader (TreeView myTre)
        {
            loader ("test", myTre, 1);
        }


        public void loader (string nodeName, TreeView myTre, int id)
        {

            myTre.Nodes.Add (nodeName + id.ToString ());
            if (id 
0
source

Source: https://habr.com/ru/post/1747684/


All Articles