48 lines
1.9 KiB
C#
48 lines
1.9 KiB
C#
|
//------------------------------------------------------------------------------
|
||
|
// <copyright file="ConsumerConnectionPoint.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
namespace System.Web.UI.WebControls.WebParts {
|
||
|
|
||
|
using System;
|
||
|
using System.Reflection;
|
||
|
using System.Web;
|
||
|
using System.Web.Util;
|
||
|
|
||
|
public class ConsumerConnectionPoint : ConnectionPoint {
|
||
|
// Used by WebPartManager to verify the custom ConnectionPoint type has
|
||
|
// the correct constructor signature.
|
||
|
internal static readonly Type[] ConstructorTypes;
|
||
|
|
||
|
static ConsumerConnectionPoint() {
|
||
|
ConstructorInfo constructor = typeof(ConsumerConnectionPoint).GetConstructors()[0];
|
||
|
ConstructorTypes = WebPartUtil.GetTypesForConstructor(constructor);
|
||
|
}
|
||
|
|
||
|
public ConsumerConnectionPoint(MethodInfo callbackMethod, Type interfaceType, Type controlType,
|
||
|
string displayName, string id, bool allowsMultipleConnections) : base(
|
||
|
callbackMethod, interfaceType, controlType, displayName, id, allowsMultipleConnections) {
|
||
|
}
|
||
|
|
||
|
public virtual void SetObject(Control control, object data) {
|
||
|
if (control == null) {
|
||
|
throw new ArgumentNullException("control");
|
||
|
}
|
||
|
|
||
|
CallbackMethod.Invoke(control, new object[] {data});
|
||
|
}
|
||
|
|
||
|
/// <devdoc>
|
||
|
/// Base implementation returns true, can be overridden by subclasses to return
|
||
|
/// true or false conditionally based on the available secondary interfaces and the state
|
||
|
/// of the consumer WebPart passed in.
|
||
|
/// </devdoc>
|
||
|
public virtual bool SupportsConnection(Control control, ConnectionInterfaceCollection secondaryInterfaces) {
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|