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
- TrackingProfile.cs
- CommandSet.cs
- DataPointer.cs
- dbenumerator.cs
- MaterializeFromAtom.cs
- Speller.cs
- VirtualPath.cs
- Function.cs
- fixedPageContentExtractor.cs
- ColumnMapCopier.cs
- ValueOfAction.cs
- Random.cs
- Pointer.cs
- Context.cs
- WebPartAddingEventArgs.cs
- AtomMaterializer.cs
- XPathException.cs
- CellNormalizer.cs
- SqlConnectionPoolProviderInfo.cs
- FileAuthorizationModule.cs
- UnsafeNativeMethodsPenimc.cs
- HttpApplicationStateBase.cs
- InOutArgumentConverter.cs
- MinimizableAttributeTypeConverter.cs
- SafeArrayRankMismatchException.cs
- CodeComment.cs
- HandlerFactoryCache.cs
- UserUseLicenseDictionaryLoader.cs
- NullableDoubleMinMaxAggregationOperator.cs
- WebConfigurationFileMap.cs
- StyleReferenceConverter.cs
- TextEditorSelection.cs
- DBSqlParser.cs
- RemotingClientProxy.cs
- FormattedText.cs
- EdgeModeValidation.cs
- AccessibleObject.cs
- EventProviderWriter.cs
- OutputCache.cs
- DataViewSettingCollection.cs
- ReliableChannelFactory.cs
- Table.cs
- MasterPageCodeDomTreeGenerator.cs
- Int32EqualityComparer.cs
- _NestedMultipleAsyncResult.cs
- LowerCaseStringConverter.cs
- SHA384Managed.cs
- Timer.cs
- ConfigurationValidatorBase.cs
- SkinIDTypeConverter.cs
- HtmlTableCellCollection.cs
- PlainXmlDeserializer.cs
- RenderTargetBitmap.cs
- CellLabel.cs
- SrgsRule.cs
- NegationPusher.cs
- XPathMessageFilterElement.cs
- HwndSource.cs
- ThreadSafeList.cs
- ObjRef.cs
- filewebresponse.cs
- NameHandler.cs
- Dictionary.cs
- DataServiceHostFactory.cs
- RowUpdatingEventArgs.cs
- SoapClientProtocol.cs
- XmlCharCheckingWriter.cs
- Rules.cs
- FrameworkObject.cs
- _ProxyRegBlob.cs
- TableCellAutomationPeer.cs
- HtmlTitle.cs
- OleServicesContext.cs
- DictionaryManager.cs
- ListViewInsertionMark.cs
- ClassHandlersStore.cs
- WebPartMinimizeVerb.cs
- UInt64.cs
- FixedTextView.cs
- ThousandthOfEmRealPoints.cs
- MailWebEventProvider.cs
- SystemIPInterfaceProperties.cs
- LockingPersistenceProvider.cs
- OleCmdHelper.cs
- CodeCompiler.cs
- RsaSecurityToken.cs
- SchemaImporterExtensionElement.cs
- DistinctQueryOperator.cs
- XmlWrappingWriter.cs
- SimpleHandlerBuildProvider.cs
- RenderingEventArgs.cs
- SchemaMapping.cs
- PrefixQName.cs
- FindSimilarActivitiesVerb.cs
- Nullable.cs
- TrustManagerMoreInformation.cs
- XpsResourcePolicy.cs
- JsonObjectDataContract.cs
- OutputCacheProfile.cs
- CommonProperties.cs