You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
103
mcs/class/referencesource/System.Web/UI/DataBinding.cs
Normal file
103
mcs/class/referencesource/System.Web/UI/DataBinding.cs
Normal file
@ -0,0 +1,103 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="DataBinding.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
namespace System.Web.UI {
|
||||
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Data;
|
||||
using System.Globalization;
|
||||
using System.Security.Permissions;
|
||||
using System.Web.Util;
|
||||
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>Enables RAD designers to create data binding expressions
|
||||
/// at design time. This class cannot be inherited.</para>
|
||||
/// </devdoc>
|
||||
public sealed class DataBinding {
|
||||
|
||||
private string propertyName;
|
||||
private Type propertyType;
|
||||
private string expression;
|
||||
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>Initializes a new instance of the <see cref='System.Web.UI.DataBinding'/> class.</para>
|
||||
/// </devdoc>
|
||||
public DataBinding(string propertyName, Type propertyType, string expression) {
|
||||
this.propertyName = propertyName;
|
||||
this.propertyType = propertyType;
|
||||
this.expression = expression;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>Indicates the data binding expression to be evaluated.</para>
|
||||
/// </devdoc>
|
||||
public string Expression {
|
||||
get {
|
||||
return expression;
|
||||
}
|
||||
set {
|
||||
Debug.Assert((value != null) && (value.Length != 0),
|
||||
"Invalid expression");
|
||||
expression = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>Indicates the name of the property that is to be data bound against. This
|
||||
/// property is read-only.</para>
|
||||
/// </devdoc>
|
||||
public string PropertyName {
|
||||
get {
|
||||
return propertyName;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>Indicates the type of the data bound property. This property is
|
||||
/// read-only.</para>
|
||||
/// </devdoc>
|
||||
public Type PropertyType {
|
||||
get {
|
||||
return propertyType;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <devdoc>
|
||||
/// DataBinding objects are placed in a hashtable representing the collection
|
||||
/// of bindings on a control. There can only be one binding/property, so
|
||||
/// the hashcode computation should match the Equals implementation and only
|
||||
/// take the property name into account.
|
||||
/// </devdoc>
|
||||
public override int GetHashCode() {
|
||||
return propertyName.ToLower(CultureInfo.InvariantCulture).GetHashCode();
|
||||
}
|
||||
|
||||
|
||||
/// <devdoc>
|
||||
/// </devdoc>
|
||||
public override bool Equals(object obj) {
|
||||
if ((obj != null) && (obj is DataBinding)) {
|
||||
DataBinding binding = (DataBinding)obj;
|
||||
|
||||
return StringUtil.EqualsIgnoreCase(propertyName, binding.PropertyName);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user