Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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;
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PixelFormat.cs
- FileInfo.cs
- Filter.cs
- ListControlDataBindingHandler.cs
- AppDomainUnloadedException.cs
- BasicSecurityProfileVersion.cs
- GrammarBuilderPhrase.cs
- HwndTarget.cs
- FunctionQuery.cs
- _LoggingObject.cs
- PersonalizationStateQuery.cs
- SecurityNegotiationException.cs
- DictionarySurrogate.cs
- WebScriptServiceHost.cs
- XsdDataContractExporter.cs
- XmlEncodedRawTextWriter.cs
- BinaryOperationBinder.cs
- SqlFunctionAttribute.cs
- ReflectTypeDescriptionProvider.cs
- ActivationProxy.cs
- WindowsTab.cs
- Compensate.cs
- SafeFindHandle.cs
- StandardBindingCollectionElement.cs
- Timeline.cs
- LiteralTextParser.cs
- PeerTransportListenAddressConverter.cs
- IUnknownConstantAttribute.cs
- QueueProcessor.cs
- LogoValidationException.cs
- Object.cs
- DiscoveryRequestHandler.cs
- UInt64Storage.cs
- WindowsTitleBar.cs
- AtomServiceDocumentSerializer.cs
- GregorianCalendar.cs
- PersonalizableAttribute.cs
- ListViewCommandEventArgs.cs
- Journal.cs
- TypefaceMap.cs
- PropertySourceInfo.cs
- DecimalFormatter.cs
- ReferenceTypeElement.cs
- SqlConnectionStringBuilder.cs
- TargetInvocationException.cs
- XmlElement.cs
- DataServiceConfiguration.cs
- PropertyMapper.cs
- MediaCommands.cs
- ControlParameter.cs
- CreatingCookieEventArgs.cs
- EventPrivateKey.cs
- BindingSourceDesigner.cs
- SymbolEqualComparer.cs
- ValuePattern.cs
- XamlVector3DCollectionSerializer.cs
- CompiledQuery.cs
- WindowsBrush.cs
- DataFormats.cs
- EditorZoneBase.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- HttpDebugHandler.cs
- ComponentRenameEvent.cs
- ToolStripItemImageRenderEventArgs.cs
- PersistenceParticipant.cs
- OleCmdHelper.cs
- CopyAttributesAction.cs
- WS2007FederationHttpBinding.cs
- UnmanagedMarshal.cs
- DurationConverter.cs
- IsolatedStorageFile.cs
- WebPartChrome.cs
- SuppressMessageAttribute.cs
- WebPartVerb.cs
- DataRowChangeEvent.cs
- AsyncResult.cs
- OleDbConnection.cs
- AuthStoreRoleProvider.cs
- ReadOnlyDictionary.cs
- XamlParser.cs
- PenThread.cs
- ListParaClient.cs
- SqlBulkCopyColumnMapping.cs
- ParallelDesigner.cs
- unitconverter.cs
- SocketPermission.cs
- TypedTableBaseExtensions.cs
- BindUriHelper.cs
- ResourceDefaultValueAttribute.cs
- OracleParameterBinding.cs
- MatrixAnimationBase.cs
- SessionEndingCancelEventArgs.cs
- ExpressionNode.cs
- DPTypeDescriptorContext.cs
- LinqDataSourceSelectEventArgs.cs
- SourceFileBuildProvider.cs
- IMembershipProvider.cs
- ClientBuildManagerCallback.cs
- OutgoingWebResponseContext.cs
- ShimAsPublicXamlType.cs