Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- BamlReader.cs
- WindowsListView.cs
- ImportContext.cs
- EnvelopedSignatureTransform.cs
- _SslSessionsCache.cs
- DbReferenceCollection.cs
- PropertyStore.cs
- MulticastDelegate.cs
- IntSecurity.cs
- JavaScriptSerializer.cs
- MexTcpBindingElement.cs
- WpfSharedXamlSchemaContext.cs
- OleDbReferenceCollection.cs
- DataTableMapping.cs
- NotificationContext.cs
- EventLogReader.cs
- PriorityBindingExpression.cs
- Resources.Designer.cs
- MultiByteCodec.cs
- CustomTrackingRecord.cs
- ToolStripOverflowButton.cs
- MatrixAnimationBase.cs
- BitSet.cs
- PropertyValueChangedEvent.cs
- CodeDOMUtility.cs
- PropertyPath.cs
- ListViewSortEventArgs.cs
- HttpAsyncResult.cs
- WorkflowInstance.cs
- EventLevel.cs
- ContractCodeDomInfo.cs
- MexTcpBindingCollectionElement.cs
- BinaryObjectWriter.cs
- StateWorkerRequest.cs
- PtsContext.cs
- SafeMemoryMappedFileHandle.cs
- FormViewRow.cs
- ViewKeyConstraint.cs
- AggregateNode.cs
- XmlUnspecifiedAttribute.cs
- SuppressMergeCheckAttribute.cs
- XmlSchemaChoice.cs
- ParamArrayAttribute.cs
- DesignerCalendarAdapter.cs
- WebPartTransformer.cs
- CmsUtils.cs
- CodeCommentStatementCollection.cs
- ControlCollection.cs
- SerializationHelper.cs
- ControlBuilder.cs
- PrivateFontCollection.cs
- PersistenceContextEnlistment.cs
- XmlNode.cs
- ToolStripActionList.cs
- CompoundFileStreamReference.cs
- AspNetSynchronizationContext.cs
- FontDriver.cs
- RequestCachePolicyConverter.cs
- DataGridViewTextBoxEditingControl.cs
- EntityDataSourceDesignerHelper.cs
- _LocalDataStoreMgr.cs
- keycontainerpermission.cs
- TableItemStyle.cs
- SourceItem.cs
- SymbolPair.cs
- FreezableCollection.cs
- DocumentOrderQuery.cs
- BindingNavigator.cs
- XmlCharType.cs
- PopupRootAutomationPeer.cs
- ScopelessEnumAttribute.cs
- XmlArrayItemAttributes.cs
- IInstanceTable.cs
- UInt32.cs
- RoutedEvent.cs
- DataGridRowHeader.cs
- CacheForPrimitiveTypes.cs
- Label.cs
- ResizeBehavior.cs
- MetadataArtifactLoaderCompositeResource.cs
- HtmlCalendarAdapter.cs
- ObjectConverter.cs
- OleDbConnection.cs
- TreeViewDesigner.cs
- __ConsoleStream.cs
- Attributes.cs
- XmlUtil.cs
- FieldNameLookup.cs
- DeclarativeCatalogPart.cs
- _ProxyRegBlob.cs
- XmlConvert.cs
- HasCopySemanticsAttribute.cs
- ToolCreatedEventArgs.cs
- COM2IProvidePropertyBuilderHandler.cs
- DataGridBeginningEditEventArgs.cs
- Triplet.cs
- HttpProfileBase.cs
- BamlResourceDeserializer.cs
- BuildProvider.cs
- WebPartRestoreVerb.cs