Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartUtil.cs / 1 / WebPartUtil.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls.WebParts {
using System;
using System.Diagnostics;
using System.Reflection;
using System.Web.Compilation;
internal static class WebPartUtil {
// Called from WebPartManagerInternals and ConnectionsZone.
internal static object CreateObjectFromType(Type type) {
return HttpRuntime.FastCreatePublicInstance(type);
}
// We use BuildManager.GetType() instead of Type.GetType() so we can load types from the
// Code directory, even if no assembly is specified.
internal static Type DeserializeType(string typeName, bool throwOnError) {
return BuildManager.GetType(typeName, throwOnError);
}
internal static Type[] GetTypesForConstructor(ConstructorInfo constructor) {
Debug.Assert(constructor != null);
ParameterInfo[] parameters = constructor.GetParameters();
Type[] types = new Type[parameters.Length];
for (int i = 0; i < parameters.Length; i++) {
types[i] = parameters[i].ParameterType;
}
return types;
}
internal static bool IsConnectionPointTypeValid(Type connectionPointType, bool isConsumer) {
if (connectionPointType == null) {
return true;
}
if (!(connectionPointType.IsPublic || connectionPointType.IsNestedPublic)) {
return false;
}
Type baseType = isConsumer ? typeof(ConsumerConnectionPoint) : typeof(ProviderConnectionPoint);
if (!connectionPointType.IsSubclassOf(baseType)) {
return false;
}
Type[] constructorTypes = isConsumer ? ConsumerConnectionPoint.ConstructorTypes :
ProviderConnectionPoint.ConstructorTypes;
ConstructorInfo constructor = connectionPointType.GetConstructor(constructorTypes);
if (constructor == null) {
return false;
}
return true;
}
// This helper method used to be needed to resolve types in the Code directory. Since this
// was fixed in VSWhidbey 380793, we can just use Type.AssemblyQualifiedName instead of
// Type.FullName. However, I am leaving this helper method in place in case we need to make
// another fix in the future.
internal static string SerializeType(Type type) {
if (type.Assembly.GlobalAssemblyCache) {
return type.AssemblyQualifiedName;
}
else {
return type.FullName;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls.WebParts {
using System;
using System.Diagnostics;
using System.Reflection;
using System.Web.Compilation;
internal static class WebPartUtil {
// Called from WebPartManagerInternals and ConnectionsZone.
internal static object CreateObjectFromType(Type type) {
return HttpRuntime.FastCreatePublicInstance(type);
}
// We use BuildManager.GetType() instead of Type.GetType() so we can load types from the
// Code directory, even if no assembly is specified.
internal static Type DeserializeType(string typeName, bool throwOnError) {
return BuildManager.GetType(typeName, throwOnError);
}
internal static Type[] GetTypesForConstructor(ConstructorInfo constructor) {
Debug.Assert(constructor != null);
ParameterInfo[] parameters = constructor.GetParameters();
Type[] types = new Type[parameters.Length];
for (int i = 0; i < parameters.Length; i++) {
types[i] = parameters[i].ParameterType;
}
return types;
}
internal static bool IsConnectionPointTypeValid(Type connectionPointType, bool isConsumer) {
if (connectionPointType == null) {
return true;
}
if (!(connectionPointType.IsPublic || connectionPointType.IsNestedPublic)) {
return false;
}
Type baseType = isConsumer ? typeof(ConsumerConnectionPoint) : typeof(ProviderConnectionPoint);
if (!connectionPointType.IsSubclassOf(baseType)) {
return false;
}
Type[] constructorTypes = isConsumer ? ConsumerConnectionPoint.ConstructorTypes :
ProviderConnectionPoint.ConstructorTypes;
ConstructorInfo constructor = connectionPointType.GetConstructor(constructorTypes);
if (constructor == null) {
return false;
}
return true;
}
// This helper method used to be needed to resolve types in the Code directory. Since this
// was fixed in VSWhidbey 380793, we can just use Type.AssemblyQualifiedName instead of
// Type.FullName. However, I am leaving this helper method in place in case we need to make
// another fix in the future.
internal static string SerializeType(Type type) {
if (type.Assembly.GlobalAssemblyCache) {
return type.AssemblyQualifiedName;
}
else {
return type.FullName;
}
}
}
}
// 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
- OracleParameter.cs
- ExtractorMetadata.cs
- altserialization.cs
- ReadOnlyHierarchicalDataSourceView.cs
- Util.cs
- WindowsRegion.cs
- AppDomainShutdownMonitor.cs
- TagPrefixCollection.cs
- SafeCryptContextHandle.cs
- TransactionContextManager.cs
- IssuanceLicense.cs
- TypeSystem.cs
- MethodImplAttribute.cs
- ApplicationTrust.cs
- XmlILAnnotation.cs
- WindowsRebar.cs
- DataGridViewColumnTypePicker.cs
- MetadataFile.cs
- UniqueEventHelper.cs
- RenderingBiasValidation.cs
- DataTableReaderListener.cs
- errorpatternmatcher.cs
- TraceInternal.cs
- WindowsListViewItemCheckBox.cs
- HtmlControlDesigner.cs
- HttpApplicationFactory.cs
- XamlClipboardData.cs
- App.cs
- CapabilitiesUse.cs
- MenuItemStyleCollectionEditor.cs
- ModelUIElement3D.cs
- HtmlElement.cs
- RuleProcessor.cs
- X509CertificateCollection.cs
- safePerfProviderHandle.cs
- NavigatorOutput.cs
- IPEndPointCollection.cs
- CodeSubDirectory.cs
- AliasExpr.cs
- WorkflowRuntimeServiceElementCollection.cs
- ErrorActivity.cs
- HttpFileCollectionWrapper.cs
- MetaTableHelper.cs
- DataColumnMapping.cs
- UrlPath.cs
- EntityConnectionStringBuilder.cs
- TraceSource.cs
- XdrBuilder.cs
- NetSectionGroup.cs
- EventManager.cs
- PanelStyle.cs
- DataGridViewCellEventArgs.cs
- _DomainName.cs
- PropertySourceInfo.cs
- StylusSystemGestureEventArgs.cs
- ElementMarkupObject.cs
- Variable.cs
- RIPEMD160Managed.cs
- RequestTimeoutManager.cs
- TabPageDesigner.cs
- DataTrigger.cs
- CheckedPointers.cs
- DoubleUtil.cs
- PasswordBox.cs
- ReadContentAsBinaryHelper.cs
- ButtonFlatAdapter.cs
- DesignSurfaceEvent.cs
- CompositeFontInfo.cs
- wgx_sdk_version.cs
- PersonalizableAttribute.cs
- ExeConfigurationFileMap.cs
- PropagatorResult.cs
- SQLConvert.cs
- DataGridViewCellLinkedList.cs
- QilReplaceVisitor.cs
- StringPropertyBuilder.cs
- XmlUtil.cs
- Variant.cs
- EventDescriptorCollection.cs
- CharacterString.cs
- PropertyPath.cs
- ProviderSettings.cs
- CodeDOMUtility.cs
- StringSource.cs
- ExpressionValueEditor.cs
- EtwTrackingBehaviorElement.cs
- ListDependantCardsRequest.cs
- FaultDescriptionCollection.cs
- CustomErrorsSectionWrapper.cs
- Brush.cs
- InputLanguageCollection.cs
- QilUnary.cs
- SqlMethodAttribute.cs
- RoleGroup.cs
- MethodSet.cs
- Stylesheet.cs
- EUCJPEncoding.cs
- MruCache.cs
- IncrementalReadDecoders.cs
- XmlSchemaValidator.cs