Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DataColumnPropertyDescriptor.cs
Go to the documentation of this file.
5
6namespace System.Data;
7
9{
11 {
12 get
13 {
14 if (typeof(IList).IsAssignableFrom(PropertyType))
15 {
16 Attribute[] array = new Attribute[base.Attributes.Count + 1];
17 base.Attributes.CopyTo(array, 0);
18 array[^1] = new ListBindableAttribute(listBindable: false);
19 return new AttributeCollection(array);
20 }
21 return base.Attributes;
22 }
23 }
24
25 internal DataColumn Column { get; }
26
27 public override Type ComponentType => typeof(DataRowView);
28
29 public override bool IsReadOnly => Column.ReadOnly;
30
31 public override Type PropertyType => Column.DataType;
32
33 public override bool IsBrowsable
34 {
35 get
36 {
37 if (Column.ColumnMapping != MappingType.Hidden)
38 {
39 return base.IsBrowsable;
40 }
41 return false;
42 }
43 }
44
46 : base(dataColumn.ColumnName, null)
47 {
48 Column = dataColumn;
49 }
50
51 public override bool Equals([NotNullWhen(true)] object other)
52 {
54 {
56 return dataColumnPropertyDescriptor.Column == Column;
57 }
58 return false;
59 }
60
61 public override int GetHashCode()
62 {
63 return Column.GetHashCode();
64 }
65
66 public override bool CanResetValue(object component)
67 {
68 DataRowView dataRowView = (DataRowView)component;
69 if (!Column.IsSqlType)
70 {
71 return dataRowView.GetColumnValue(Column) != DBNull.Value;
72 }
73 return !DataStorage.IsObjectNull(dataRowView.GetColumnValue(Column));
74 }
75
76 public override object GetValue(object component)
77 {
78 DataRowView dataRowView = (DataRowView)component;
79 return dataRowView.GetColumnValue(Column);
80 }
81
82 public override void ResetValue(object component)
83 {
84 DataRowView dataRowView = (DataRowView)component;
85 dataRowView.SetColumnValue(Column, DBNull.Value);
86 }
87
88 public override void SetValue(object component, object value)
89 {
90 DataRowView dataRowView = (DataRowView)component;
91 dataRowView.SetColumnValue(Column, value);
92 OnValueChanged(component, EventArgs.Empty);
93 }
94
95 public override bool ShouldSerializeValue(object component)
96 {
97 return false;
98 }
99}
virtual void OnValueChanged(object? component, EventArgs e)
static readonly DBNull Value
Definition DBNull.cs:8
static bool IsObjectNull(object value)
override void SetValue(object component, object value)
override bool Equals([NotNullWhen(true)] object other)
virtual MappingType ColumnMapping
void SetColumnValue(DataColumn column, object value)
object GetColumnValue(DataColumn column)
static readonly EventArgs Empty
Definition EventArgs.cs:9