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
- WebPartManagerInternals.cs
- BuildResult.cs
- KeyboardDevice.cs
- ScriptHandlerFactory.cs
- TemplateKeyConverter.cs
- XmlTextReaderImpl.cs
- ClientRolePrincipal.cs
- ReadOnlyAttribute.cs
- NameValueSectionHandler.cs
- FileDialogPermission.cs
- ServicePoint.cs
- EncodingInfo.cs
- CapabilitiesRule.cs
- RequestCacheEntry.cs
- VerificationAttribute.cs
- TreeNodeCollectionEditorDialog.cs
- DefaultWorkflowLoaderService.cs
- ScrollBar.cs
- TripleDESCryptoServiceProvider.cs
- ImageMap.cs
- CoreSwitches.cs
- SafeFileMappingHandle.cs
- ParameterToken.cs
- XmlAttributeCollection.cs
- OleDbError.cs
- CodeTypeDeclarationCollection.cs
- APCustomTypeDescriptor.cs
- PkcsUtils.cs
- TemplateBindingExpressionConverter.cs
- BooleanToVisibilityConverter.cs
- CompilerGeneratedAttribute.cs
- linebase.cs
- basecomparevalidator.cs
- HMACSHA512.cs
- CreateUserWizard.cs
- WmlPhoneCallAdapter.cs
- SafeCryptoHandles.cs
- CodeIdentifier.cs
- DetailsViewDesigner.cs
- ControlAdapter.cs
- TimelineCollection.cs
- PropertyEmitter.cs
- DbModificationClause.cs
- UpdateRecord.cs
- XPathChildIterator.cs
- Descriptor.cs
- SynchronizationValidator.cs
- LOSFormatter.cs
- BufferBuilder.cs
- AmbientLight.cs
- ActivityExecutorOperation.cs
- UIPermission.cs
- BatchStream.cs
- ToolStripContainerDesigner.cs
- CatalogPartCollection.cs
- Lazy.cs
- AppDomainGrammarProxy.cs
- ObjectCacheSettings.cs
- SimpleMailWebEventProvider.cs
- PenThreadWorker.cs
- BinaryUtilClasses.cs
- PrivateFontCollection.cs
- Parameter.cs
- SqlCacheDependencySection.cs
- SqlGatherConsumedAliases.cs
- JsonEnumDataContract.cs
- CaseInsensitiveHashCodeProvider.cs
- XmlSchemaAny.cs
- HwndAppCommandInputProvider.cs
- PointKeyFrameCollection.cs
- PathTooLongException.cs
- EFTableProvider.cs
- DefaultSection.cs
- LOSFormatter.cs
- BlockCollection.cs
- Substitution.cs
- MulticastNotSupportedException.cs
- ServiceOperationListItemList.cs
- CreatingCookieEventArgs.cs
- MoveSizeWinEventHandler.cs
- StrokeNodeData.cs
- _SslState.cs
- ColorTransformHelper.cs
- ListView.cs
- ConnectionStringSettings.cs
- SpeechSynthesizer.cs
- DataColumnPropertyDescriptor.cs
- SelectorAutomationPeer.cs
- KeyPullup.cs
- FocusTracker.cs
- VectorCollectionConverter.cs
- ReturnType.cs
- ADMembershipProvider.cs
- CDSsyncETWBCLProvider.cs
- OciEnlistContext.cs
- TdsParserSafeHandles.cs
- CornerRadiusConverter.cs
- HttpAsyncResult.cs
- MimeTypeMapper.cs
- SqlUdtInfo.cs