Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / security / system / security / authentication / ExtendedProtection / ExtendedProtectionPolicyTypeConverter.cs / 1305376 / ExtendedProtectionPolicyTypeConverter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
using System.Reflection;
namespace System.Security.Authentication.ExtendedProtection
{
public class ExtendedProtectionPolicyTypeConverter : TypeConverter
{
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
{
return true;
}
return base.CanConvertTo(context, destinationType);
}
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
{
ExtendedProtectionPolicy policy = value as ExtendedProtectionPolicy;
if (policy != null)
{
Type[] parameterTypes;
object[] parameterValues;
if (policy.PolicyEnforcement == PolicyEnforcement.Never)
{
parameterTypes = new Type[] { typeof(PolicyEnforcement) };
parameterValues = new object[] { PolicyEnforcement.Never };
}
else
{
parameterTypes = new Type[] { typeof(PolicyEnforcement), typeof(ProtectionScenario), typeof(ICollection) };
object[] customServiceNames = null;
if (policy.CustomServiceNames != null && policy.CustomServiceNames.Count > 0)
{
customServiceNames = new object[policy.CustomServiceNames.Count];
((ICollection)policy.CustomServiceNames).CopyTo(customServiceNames, 0);
}
parameterValues = new object[] { policy.PolicyEnforcement, policy.ProtectionScenario, customServiceNames };
}
ConstructorInfo constructor = typeof(ExtendedProtectionPolicy).GetConstructor(parameterTypes);
return new InstanceDescriptor(constructor, parameterValues);
}
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
}
// 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
- ChangeTracker.cs
- COM2IPerPropertyBrowsingHandler.cs
- Button.cs
- CqlQuery.cs
- AnonymousIdentificationSection.cs
- OdbcConnectionString.cs
- _UriTypeConverter.cs
- DocumentViewerHelper.cs
- ColorBlend.cs
- PropertyDescriptorGridEntry.cs
- MultiView.cs
- Rect.cs
- OperationDescriptionCollection.cs
- StorageEntityContainerMapping.cs
- SequenceQuery.cs
- ProvidersHelper.cs
- WebPartExportVerb.cs
- TemplateApplicationHelper.cs
- Int32CollectionConverter.cs
- TemplateControlCodeDomTreeGenerator.cs
- EditorPartChrome.cs
- MessageDecoder.cs
- MarshalDirectiveException.cs
- Schema.cs
- WindowsNonControl.cs
- ContentFileHelper.cs
- SoundPlayer.cs
- ProgressChangedEventArgs.cs
- ResourceDefaultValueAttribute.cs
- HtmlTableCell.cs
- RegularExpressionValidator.cs
- Int32KeyFrameCollection.cs
- AmbientProperties.cs
- MenuAutoFormat.cs
- SkinBuilder.cs
- ReadOnlyActivityGlyph.cs
- Journal.cs
- MarkupExtensionParser.cs
- WindowsPrincipal.cs
- ComEventsMethod.cs
- CellConstant.cs
- FrameworkElementAutomationPeer.cs
- TextRangeEdit.cs
- SqlCacheDependencySection.cs
- SingleAnimationBase.cs
- HttpHandlerActionCollection.cs
- RequestDescription.cs
- DataSourceBooleanViewSchemaConverter.cs
- DBSqlParser.cs
- DbDataSourceEnumerator.cs
- StaticSiteMapProvider.cs
- TextElement.cs
- WrappedIUnknown.cs
- ButtonChrome.cs
- IISMapPath.cs
- DocumentPageTextView.cs
- RuntimeArgument.cs
- ScopeCompiler.cs
- DataDocumentXPathNavigator.cs
- MethodCallConverter.cs
- IResourceProvider.cs
- SamlAttributeStatement.cs
- CodeAttachEventStatement.cs
- KeyValueConfigurationCollection.cs
- PartitionResolver.cs
- HostSecurityManager.cs
- ResourceProviderFactory.cs
- SoapAttributeAttribute.cs
- QuaternionAnimation.cs
- IIS7ConfigurationLoader.cs
- CellQuery.cs
- SqlNotificationEventArgs.cs
- FrameworkElement.cs
- PrePrepareMethodAttribute.cs
- ZeroOpNode.cs
- SafeWaitHandle.cs
- HandledMouseEvent.cs
- X509PeerCertificateAuthenticationElement.cs
- CodeSubDirectoriesCollection.cs
- XmlAtomicValue.cs
- MailAddress.cs
- PeerService.cs
- contentDescriptor.cs
- RelatedCurrencyManager.cs
- PrintDialog.cs
- HtmlTitle.cs
- StrongNamePublicKeyBlob.cs
- LayoutEditorPart.cs
- Control.cs
- BooleanSwitch.cs
- IInstanceContextProvider.cs
- AttributeSetAction.cs
- EventSourceCreationData.cs
- ExpressionLexer.cs
- SessionStateUtil.cs
- RepeaterCommandEventArgs.cs
- AxDesigner.cs
- DefaultProxySection.cs
- Visitor.cs
- WhiteSpaceTrimStringConverter.cs