public override CollectedData OnAcquire() { bool success = false; ListStringData d = new ListStringData(Context, m_options); OnAcquireDelegate( dict => { // Assume there's a single thing in Properties. If there are multiple items you'll have // to define your own OnAcquire. object o = dict[WmiContext.Properties]; if (o != null) { string s = o.ToString(); d.Add(s); success = true; } }); return(new CollectedData(Context, success, d)); }