如何从其属性中获取对象 [英] How can I get the object from its property
本文介绍了如何从其属性中获取对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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屋!
查看全文