我正在尝试使用 System.Windows.Forms.Design.StringCollectionEditor 通过 Windows 窗体属性网格公开我的 List 类成员。我的问题是关于线程安全的
[Editor("System.Windows.Forms.Design.StringCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
public List<string> EventLogSources {
get {
lock (lockObj) {
return eventLogSources;
}
}
}
显然这不是线程安全的,因为多个线程可以获取引用并更新它。那么使用 StringCollectionEditor (或类似的东西)并保证线程安全的最佳方法是什么?