linux-packaging-mono/external/referencesource/System.Web/UI/SupportsEventValidationAttribute.cs
Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

50 lines
1.8 KiB
C#

//------------------------------------------------------------------------------
// <copyright file="SupportsEventValidation.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
/*
*/
namespace System.Web.UI {
using System;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
/// <devdoc>
/// <para></para>
/// </devdoc>
[AttributeUsage(AttributeTargets.Class, AllowMultiple=false)]
public sealed class SupportsEventValidationAttribute : Attribute {
private static Hashtable _typesSupportsEventValidation;
static SupportsEventValidationAttribute() {
// Create a synchronized wrapper
_typesSupportsEventValidation = Hashtable.Synchronized(new Hashtable());
}
public SupportsEventValidationAttribute() {
}
internal static bool SupportsEventValidation(Type type) {
object result = _typesSupportsEventValidation[type];
if (result != null) {
return (bool)result;
}
// Check the attributes on the type to see if it supports SupportsEventValidationAttribute
// Note that this attribute does not inherit from the base class, since derived classes may
// not be able to validate properly.
object[] attribs = type.GetCustomAttributes(typeof(SupportsEventValidationAttribute), false /* inherits */);
bool supportsEventValidation = ((attribs != null) && (attribs.Length > 0));
_typesSupportsEventValidation[type] = supportsEventValidation;
return supportsEventValidation;
}
}
}