public static DataColumn[] GetColumnsWithExtendedPropertyValue(DataColumn[] columns, string propertyName, object propertyValue, ColumnPropertyComparer comparer) { var list = new ArrayList(); foreach (var t in columns) { var currentValue = t.ExtendedProperties[propertyName]; if (currentValue == null) continue; if (comparer(propertyValue, currentValue)) list.Add(t); } var cols = new DataColumn[list.Count]; for (var i = 0; i < cols.Length; i++) cols[i] = list[i] as DataColumn; return cols; }
public static bool DataColumnHasExtendedProperty(DataColumn column, string propertyName, object propertyValue, ColumnPropertyComparer comparer) { var obj = column.ExtendedProperties[propertyName]; return obj != null && comparer(obj, propertyValue); }