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
- SqlStatistics.cs
- UriWriter.cs
- GroupQuery.cs
- SafeSecurityHandles.cs
- OLEDB_Enum.cs
- MetadataFile.cs
- TypeBuilder.cs
- ContextMenu.cs
- CallbackCorrelationInitializer.cs
- TargetException.cs
- XmlJsonReader.cs
- StackBuilderSink.cs
- CultureInfo.cs
- TextEncodedRawTextWriter.cs
- SmtpClient.cs
- DefaultValidator.cs
- TextProperties.cs
- StopRoutingHandler.cs
- DiscardableAttribute.cs
- JavaScriptSerializer.cs
- GridViewRowPresenterBase.cs
- LOSFormatter.cs
- XmlSchemaAttributeGroupRef.cs
- MimeTypeAttribute.cs
- GroupBoxRenderer.cs
- Duration.cs
- LineGeometry.cs
- BitmapScalingModeValidation.cs
- TrustSection.cs
- ArrangedElementCollection.cs
- SHA256.cs
- Rectangle.cs
- VScrollBar.cs
- DateTimeStorage.cs
- TransactionManagerProxy.cs
- ToolStripItemTextRenderEventArgs.cs
- WinInet.cs
- PeerInputChannel.cs
- ImageSourceValueSerializer.cs
- TransactionManager.cs
- _ListenerAsyncResult.cs
- CommandBindingCollection.cs
- HttpModuleAction.cs
- WindowsGraphics2.cs
- SiteMapNode.cs
- CorrelationManager.cs
- WindowAutomationPeer.cs
- HtmlInputText.cs
- COM2PropertyPageUITypeConverter.cs
- ValueQuery.cs
- MenuItem.cs
- ContentFilePart.cs
- AsymmetricCryptoHandle.cs
- EmbeddedMailObject.cs
- AnimationClock.cs
- PrintingPermission.cs
- ListViewDataItem.cs
- ScriptControlDescriptor.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- Size3DConverter.cs
- XmlSchema.cs
- initElementDictionary.cs
- OuterGlowBitmapEffect.cs
- EnumBuilder.cs
- ReadOnlyDataSourceView.cs
- ToolStripMenuItem.cs
- translator.cs
- KeyMatchBuilder.cs
- ToolboxItemFilterAttribute.cs
- DrawingCollection.cs
- DbDeleteCommandTree.cs
- ByteAnimation.cs
- TraceHwndHost.cs
- WriteableBitmap.cs
- XamlPoint3DCollectionSerializer.cs
- WindowsGraphics.cs
- SqlProfileProvider.cs
- APCustomTypeDescriptor.cs
- DisplayMemberTemplateSelector.cs
- Crypto.cs
- TableLayoutPanel.cs
- KoreanLunisolarCalendar.cs
- DeclarationUpdate.cs
- SoapMessage.cs
- DataContract.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- LinearGradientBrush.cs
- ExtensionQuery.cs
- XmlCDATASection.cs
- SingleStorage.cs
- MailBnfHelper.cs
- RectangleGeometry.cs
- CopyEncoder.cs
- SoapMessage.cs
- PolyLineSegment.cs
- HostDesigntimeLicenseContext.cs
- RegexNode.cs
- LoginCancelEventArgs.cs
- TextServicesDisplayAttribute.cs
- SocketConnection.cs