Code:
/ 4.0 / 4.0 / 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.
//------------------------------------------------------------------------------
//
// 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
- TypeReference.cs
- XmlLinkedNode.cs
- Queue.cs
- RunWorkerCompletedEventArgs.cs
- Cell.cs
- HttpInputStream.cs
- RadioButton.cs
- CodeConstructor.cs
- AlphaSortedEnumConverter.cs
- Style.cs
- DisplayToken.cs
- ObjectView.cs
- XmlAttributeCollection.cs
- BoundField.cs
- AppDomainInfo.cs
- XmlSiteMapProvider.cs
- TransactionFormatter.cs
- EntityChangedParams.cs
- SqlGenerator.cs
- OleDbPropertySetGuid.cs
- AspNetSynchronizationContext.cs
- CodeGroup.cs
- TableLayoutStyleCollection.cs
- OledbConnectionStringbuilder.cs
- DefaultBinder.cs
- CallbackTimeoutsBehavior.cs
- SafeNativeMethods.cs
- AutoCompleteStringCollection.cs
- ComplexBindingPropertiesAttribute.cs
- DataGridViewRowPrePaintEventArgs.cs
- FolderBrowserDialog.cs
- SequentialOutput.cs
- _OSSOCK.cs
- DataGridViewSelectedColumnCollection.cs
- SqlNotificationEventArgs.cs
- WindowsFormsSectionHandler.cs
- TableStyle.cs
- LostFocusEventManager.cs
- InternalResources.cs
- Parameter.cs
- ClientOptions.cs
- XmlEncoding.cs
- SQLMembershipProvider.cs
- RoleManagerEventArgs.cs
- Clipboard.cs
- SqlProfileProvider.cs
- TempFiles.cs
- ComAdminInterfaces.cs
- columnmapfactory.cs
- SectionVisual.cs
- AutoFocusStyle.xaml.cs
- NotifyParentPropertyAttribute.cs
- SystemIPGlobalStatistics.cs
- HitTestDrawingContextWalker.cs
- KeyedHashAlgorithm.cs
- UnionExpr.cs
- DateTimePicker.cs
- DataBindingHandlerAttribute.cs
- ObjectConverter.cs
- DocumentViewerBaseAutomationPeer.cs
- StateItem.cs
- NotifyInputEventArgs.cs
- NaturalLanguageHyphenator.cs
- MenuItem.cs
- InkSerializer.cs
- SqlDelegatedTransaction.cs
- AttributeAction.cs
- MatrixStack.cs
- FrameSecurityDescriptor.cs
- ELinqQueryState.cs
- System.Data.OracleClient_BID.cs
- StylusTip.cs
- CacheOutputQuery.cs
- DataStreams.cs
- UpdateProgress.cs
- DetailsViewUpdateEventArgs.cs
- XmlWriterTraceListener.cs
- RemotingServices.cs
- HTTPNotFoundHandler.cs
- LinearGradientBrush.cs
- SolidBrush.cs
- MessageHeaderAttribute.cs
- DataKey.cs
- SystemNetHelpers.cs
- DrawingVisualDrawingContext.cs
- MultiBinding.cs
- WSHttpSecurityElement.cs
- TypeSystem.cs
- DataBindingExpressionBuilder.cs
- SqlDependencyListener.cs
- HttpCookieCollection.cs
- HashFinalRequest.cs
- MasterPage.cs
- WebEventTraceProvider.cs
- DataViewSettingCollection.cs
- WebPartsPersonalization.cs
- TextElementEnumerator.cs
- QilCloneVisitor.cs
- Image.cs
- DetailsViewDeleteEventArgs.cs