我正在创建一个 OPC 客户端,可以读取电气设备的标签。这是通过在 OPC 组中设置项目来完成的。我想要一个 bool[] 数组属性来将项目设置为事件或非事件。我需要知道该属性 bool[] 的哪个索引用于设置该属性,以便我可以使用它来激活该项目。我可以只使用一个方法,但更喜欢一个属性。 _theGroup 是保存项目的 OPC 组。
private bool[] _ItemActive;
public bool[] itemActive {
get { return _ItemActive; }
set {
if (_theGroup != null) {
int itemIndex = ?? // I don't know how to find property index access by user
int itemHandle = itemHandles[itemIndex]; //uses index to discover handle
_theGroup.SetActiveState(itemHandle, value, out err); // use handle to set item active
}
_ItemActive = value;
}
}
用户会做这样的事情。
opcClient.itemActive[3] = false;
我需要能够发现 3 并将其插入到上面所示的 bool[] 数组的 setter 中的 itemIndex
最佳答案
您可以使用覆盖的索引器运算符创建自定义集合,您可以在其中执行自定义逻辑。但创建一个 setter 方法 SetItemActivation(int,bool)
似乎是一个更干净的解决方案。
关于c# - 使用 C# 确定正在设置数组属性的哪个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17244063/