e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
//------------------------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
namespace System.ServiceModel.Configuration
|
|
{
|
|
using System;
|
|
using System.ServiceModel.Channels;
|
|
using System.Configuration;
|
|
using System.Globalization;
|
|
using System.Xml;
|
|
|
|
public abstract class BindingElementExtensionElement : ServiceModelExtensionElement
|
|
{
|
|
public virtual void ApplyConfiguration(BindingElement bindingElement)
|
|
{
|
|
// Some items make sense just as tags and have no other configuration
|
|
if (null == bindingElement)
|
|
{
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElement");
|
|
}
|
|
}
|
|
|
|
public abstract Type BindingElementType
|
|
{
|
|
get;
|
|
}
|
|
|
|
protected internal abstract BindingElement CreateBindingElement();
|
|
|
|
protected internal virtual void InitializeFrom(BindingElement bindingElement)
|
|
{
|
|
if (bindingElement == null)
|
|
{
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElement");
|
|
}
|
|
if (bindingElement.GetType() != this.BindingElementType)
|
|
{
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("bindingElement",
|
|
SR.GetString(SR.ConfigInvalidTypeForBindingElement,
|
|
this.BindingElementType.ToString(),
|
|
bindingElement.GetType().ToString()));
|
|
}
|
|
}
|
|
}
|
|
}
|