1 //------------------------------------------------------------------------------
2 // <copyright file="DataTablePropertyDescriptor.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 // <owner current="true" primary="true">[....]</owner>
6 // <owner current="true" primary="false">[....]</owner>
7 // <owner current="false" primary="false">[....]</owner>
8 //------------------------------------------------------------------------------
10 namespace System.Data {
12 using System.ComponentModel;
14 internal sealed class DataTablePropertyDescriptor : PropertyDescriptor {
18 public DataTable Table {
24 internal DataTablePropertyDescriptor(DataTable dataTable) : base(dataTable.TableName, null) {
25 this.table = dataTable;
28 public override Type ComponentType {
30 return typeof(DataRowView);
34 public override bool IsReadOnly {
40 public override Type PropertyType {
42 return typeof(IBindingList);
46 public override bool Equals(object other) {
47 if (other is DataTablePropertyDescriptor) {
48 DataTablePropertyDescriptor descriptor = (DataTablePropertyDescriptor) other;
49 return(descriptor.Table == Table);
54 public override Int32 GetHashCode() {
55 return Table.GetHashCode();
58 public override bool CanResetValue(object component) {
62 public override object GetValue(object component) {
63 DataViewManagerListItemTypeDescriptor dataViewManagerListItem = (DataViewManagerListItemTypeDescriptor) component;
64 return dataViewManagerListItem.GetDataView(table);
67 public override void ResetValue(object component) {
70 public override void SetValue(object component, object value) {
73 public override bool ShouldSerializeValue(object component) {