Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebParts / ConnectionPoint.cs / 1 / ConnectionPoint.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls.WebParts {
using System;
using System.Reflection;
using System.Security.Permissions;
using System.Web;
using System.Web.Util;
///
/// A ConnectionPoint defines a possible connection. A WebPart uses this
/// to define the connections it can provide or consume.
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public abstract class ConnectionPoint {
private MethodInfo _callbackMethod;
private Type _controlType;
private Type _interfaceType;
private string _displayName;
private string _id;
private bool _allowsMultipleConnections;
// We do not want the public field to be "const", since that means we can never change its value.
// We want the internal const field so we can use it in attributes.
public static readonly string DefaultID = DefaultIDInternal;
internal const string DefaultIDInternal = "default";
//
internal ConnectionPoint(MethodInfo callbackMethod, Type interfaceType, Type controlType, string displayName, string id, bool allowsMultipleConnections) {
if (callbackMethod == null) {
throw new ArgumentNullException("callbackMethod");
}
if (interfaceType == null) {
throw new ArgumentNullException("interfaceType");
}
if (controlType == null) {
throw new ArgumentNullException("controlType");
}
if (!controlType.IsSubclassOf(typeof(Control))) {
throw new ArgumentException(SR.GetString(SR.ConnectionPoint_InvalidControlType), "controlType");
}
if (String.IsNullOrEmpty(displayName)) {
throw new ArgumentNullException("displayName");
}
_callbackMethod = callbackMethod;
_interfaceType = interfaceType;
_controlType = controlType;
_displayName = displayName;
_id = id;
_allowsMultipleConnections = allowsMultipleConnections;
}
public bool AllowsMultipleConnections {
get {
return _allowsMultipleConnections;
}
}
internal MethodInfo CallbackMethod {
get {
return _callbackMethod;
}
}
public Type ControlType {
get {
return _controlType;
}
}
public Type InterfaceType {
get {
return _interfaceType;
}
}
public string ID {
get {
return (!String.IsNullOrEmpty(_id)) ? _id : DefaultID;
}
}
public string DisplayName {
get {
return _displayName;
}
}
///
/// Base implementation returns true, can be overridden by subclasses to return
/// true or false conditionally based on the state of the Control.
///
public virtual bool GetEnabled(Control control) {
return true;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls.WebParts {
using System;
using System.Reflection;
using System.Security.Permissions;
using System.Web;
using System.Web.Util;
///
/// A ConnectionPoint defines a possible connection. A WebPart uses this
/// to define the connections it can provide or consume.
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public abstract class ConnectionPoint {
private MethodInfo _callbackMethod;
private Type _controlType;
private Type _interfaceType;
private string _displayName;
private string _id;
private bool _allowsMultipleConnections;
// We do not want the public field to be "const", since that means we can never change its value.
// We want the internal const field so we can use it in attributes.
public static readonly string DefaultID = DefaultIDInternal;
internal const string DefaultIDInternal = "default";
//
internal ConnectionPoint(MethodInfo callbackMethod, Type interfaceType, Type controlType, string displayName, string id, bool allowsMultipleConnections) {
if (callbackMethod == null) {
throw new ArgumentNullException("callbackMethod");
}
if (interfaceType == null) {
throw new ArgumentNullException("interfaceType");
}
if (controlType == null) {
throw new ArgumentNullException("controlType");
}
if (!controlType.IsSubclassOf(typeof(Control))) {
throw new ArgumentException(SR.GetString(SR.ConnectionPoint_InvalidControlType), "controlType");
}
if (String.IsNullOrEmpty(displayName)) {
throw new ArgumentNullException("displayName");
}
_callbackMethod = callbackMethod;
_interfaceType = interfaceType;
_controlType = controlType;
_displayName = displayName;
_id = id;
_allowsMultipleConnections = allowsMultipleConnections;
}
public bool AllowsMultipleConnections {
get {
return _allowsMultipleConnections;
}
}
internal MethodInfo CallbackMethod {
get {
return _callbackMethod;
}
}
public Type ControlType {
get {
return _controlType;
}
}
public Type InterfaceType {
get {
return _interfaceType;
}
}
public string ID {
get {
return (!String.IsNullOrEmpty(_id)) ? _id : DefaultID;
}
}
public string DisplayName {
get {
return _displayName;
}
}
///
/// Base implementation returns true, can be overridden by subclasses to return
/// true or false conditionally based on the state of the Control.
///
public virtual bool GetEnabled(Control control) {
return true;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertyGridEditorPart.cs
- OracleEncoding.cs
- Utils.cs
- FixedStringLookup.cs
- App.cs
- SocketConnection.cs
- HtmlMeta.cs
- WindowsEditBox.cs
- GenericIdentity.cs
- LayoutEditorPart.cs
- OrderedEnumerableRowCollection.cs
- HwndPanningFeedback.cs
- KnownTypesProvider.cs
- DataTableReader.cs
- TextTreeTextElementNode.cs
- XsltContext.cs
- WebAdminConfigurationHelper.cs
- EventRoute.cs
- RSAPKCS1SignatureDeformatter.cs
- ResourceIDHelper.cs
- ListItemConverter.cs
- ScrollChangedEventArgs.cs
- DbDataRecord.cs
- XmlProcessingInstruction.cs
- WorkflowInstanceExtensionCollection.cs
- CopyAttributesAction.cs
- DbCommandTree.cs
- CatalogPart.cs
- CompositeDuplexElement.cs
- ApplyImportsAction.cs
- SqlConnectionFactory.cs
- DynamicFilterExpression.cs
- TypeLibConverter.cs
- TableRow.cs
- sortedlist.cs
- BitmapFrameEncode.cs
- DataRowCollection.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- XmlValidatingReaderImpl.cs
- DesignOnlyAttribute.cs
- AutomationPatternInfo.cs
- EventSchemaTraceListener.cs
- NotConverter.cs
- COAUTHIDENTITY.cs
- TranslateTransform3D.cs
- HostingEnvironmentSection.cs
- HostedTcpTransportManager.cs
- PerformanceCounterCategory.cs
- ColorInterpolationModeValidation.cs
- ApplicationInfo.cs
- SymLanguageType.cs
- securestring.cs
- DES.cs
- ProcessInfo.cs
- VScrollProperties.cs
- TableParagraph.cs
- DynamicFilterExpression.cs
- RangeValuePatternIdentifiers.cs
- MediaElementAutomationPeer.cs
- DbgUtil.cs
- ControllableStoryboardAction.cs
- TextBoxAutomationPeer.cs
- XPathException.cs
- ProviderSettings.cs
- FrameworkElementFactory.cs
- StateBag.cs
- XmlCustomFormatter.cs
- RectangleConverter.cs
- PersonalizationState.cs
- TextMetrics.cs
- GridToolTip.cs
- HtmlElementEventArgs.cs
- TextTreePropertyUndoUnit.cs
- SelectingProviderEventArgs.cs
- VirtualPath.cs
- LinqDataSourceStatusEventArgs.cs
- SchemaComplexType.cs
- CodeAccessPermission.cs
- BufferedReadStream.cs
- EdmMember.cs
- OpenFileDialog.cs
- HttpWebRequest.cs
- SocketInformation.cs
- Encoder.cs
- PreProcessInputEventArgs.cs
- ConfigurationStrings.cs
- BamlBinaryReader.cs
- DetailsViewActionList.cs
- MessageBodyDescription.cs
- OdbcConnectionPoolProviderInfo.cs
- ImageListUtils.cs
- SystemInfo.cs
- CustomAttributeBuilder.cs
- ListViewItemSelectionChangedEvent.cs
- ProtocolsConfiguration.cs
- SymLanguageType.cs
- InputBinder.cs
- OleDbSchemaGuid.cs
- DisableDpiAwarenessAttribute.cs
- TextBox.cs