如何使用C#
中的OPCDA.NET获取OPCGroup的非公共成员的值private void DataChangeHandler(object sender, DataChangeEventArgs e)
{
try
{
object obj = sender;
OpcGroup grp = (OpcGroup)sender; // I want the OPCgroup non public member value
if (InvokeRequired)
{
BeginInvoke(new DataChangeEventHandler(DataChangeHandler),
new object[] { sender, e });
//return;
}
if (parameter.X == 0)
{
parameter.X = 1;
Thread th = new Thread(param.update);
th.Start(e);
}
}
catch(OPCException ) { }
}
答案 0 :(得分:6)
您不应该尝试使用非公开成员。如果代码的作者隐藏了它,您应该假设:
你可以使用反射来访问非公共成员(假设在执行时有适当的权限),但如果可能的话,我会强烈反对你这样做。