1 //------------------------------------------------------------------------------
2 // <copyright file="DataTablePropertyDescriptor.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 // <owner current="true" primary="true">Microsoft</owner>
6 // <owner current="true" primary="false">Microsoft</owner>
7 // <owner current="false" primary="false">Microsoft</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
) {