如何从其属性中获取对象 [英] How can I get the object from its property

查看:102
本文介绍了如何从其属性中获取对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

private void ButtonGetListOfOPCServers_Click(object sender, EventArgs e)
        {
            
             obj = new tester(); 
            Opc.Server[] servers= obj.Getserver();
            if (servers!=null)
            {
                foreach(Opc.Server server in servers)
                {
                    ListBoxListOfOPCServers.Items.Add(server.Name);
                }
            }
            
         }







private void ListBoxListOfOPCServers_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            
            obj.M_server = ListBoxListOfOPCServers.SelectedItem as Opc.Da.Server;


        }





我的尝试:



i想要将服务器分配给我在列表框中选择的内容。

但是因为它是server.Name我显示,我无法将其强制转回服务器。



谢谢!



What I have tried:

i want to assign the server to what I selected in listbox.
but because it is server.Name i display , i cannot cast it back to server.

thank you!

推荐答案

你应该能够从这个sketch:
You should be able to get some ideas from this "sketch:"
using System;
// using Opc; ?

namespace YourNameSpace
{
    public class YourClass
    {
        private Tester TheTester;
        private Opc.Server[] Servers;
        private Opc.Da.Server CurrentServer;

        private void ButtonGetListOfOPCServers_Click(object sender, EventArgs e)
        {
            TheTester = new Tester();
            Servers = TheTester.Getserver();

            if (Servers == null)
            {
                // handle failure to get servers ?
                return;
            }
            else
            {
                ListBoxListOfOPCServers.DataSource = Servers;
                ListBoxListOfOPCServers.DisplayMember = "Name";
                ListBoxListOfOPCServers.SelectedIndexChanged += ListBoxListOfOPCServers_SelectedIndexChanged;
            }
        }

        private void ListBoxListOfOPCServers_SelectedIndexChanged(object sender, EventArgs e)
        {
            int selNdx = ListBoxListOfOPCServers.SelectedIndex;

            if (selNdx == -1)
            {
                // handle no selection: update prior selection ?
                // throw error ?
                return;
            }

            CurrentServer = ListBoxListOfOPCServers.SelectedValue as Opc.Da.Server;

            if (CurrentServer == null)
            {
                // handle server access faiulure ?
                // throw error ?
                return;
            }

            TheTester.M_server = CurrentServer;
        }
    }
}


这篇关于如何从其属性中获取对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆