Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- TextDecorationCollection.cs
- RemotingConfigParser.cs
- FormsAuthenticationCredentials.cs
- DataGridHeaderBorder.cs
- QueryPageSettingsEventArgs.cs
- ParagraphVisual.cs
- PipelineModuleStepContainer.cs
- RootBrowserWindowProxy.cs
- UnsafeNativeMethodsPenimc.cs
- PersonalizableAttribute.cs
- SMSvcHost.cs
- PipeStream.cs
- activationcontext.cs
- BrowserTree.cs
- MDIWindowDialog.cs
- OutputBuffer.cs
- FileDialogCustomPlace.cs
- UIElementParagraph.cs
- ValuePatternIdentifiers.cs
- LinqDataSourceContextData.cs
- ListViewItem.cs
- GZipStream.cs
- SudsParser.cs
- DelimitedListTraceListener.cs
- DataGridViewCellCancelEventArgs.cs
- FlowLayoutSettings.cs
- ProfileWorkflowElement.cs
- TickBar.cs
- UrlMappingsModule.cs
- ArithmeticException.cs
- SerializationObjectManager.cs
- ParenthesizePropertyNameAttribute.cs
- RuntimeHelpers.cs
- ControlValuePropertyAttribute.cs
- PerformanceCounter.cs
- TrackingLocation.cs
- FlatButtonAppearance.cs
- HtmlElementEventArgs.cs
- DataGridViewRowCancelEventArgs.cs
- SimpleFieldTemplateFactory.cs
- EntityDataSourceStatementEditor.cs
- FullTextBreakpoint.cs
- SQLString.cs
- ItemChangedEventArgs.cs
- PeerDuplexChannelListener.cs
- MenuItemStyle.cs
- DecoderNLS.cs
- DecoderExceptionFallback.cs
- Floater.cs
- InstanceKeyNotReadyException.cs
- TransformerTypeCollection.cs
- URIFormatException.cs
- MetadataItemEmitter.cs
- MediaContext.cs
- SiteMapProvider.cs
- BindingOperations.cs
- SafeNativeMethodsOther.cs
- AtlasWeb.Designer.cs
- LongValidator.cs
- ResXResourceWriter.cs
- DetailsViewCommandEventArgs.cs
- UnsafeNativeMethods.cs
- Misc.cs
- HandleCollector.cs
- AssociationType.cs
- VirtualDirectoryMappingCollection.cs
- XmlSchemaSubstitutionGroup.cs
- ToolStripDropDownButton.cs
- NetTcpSecurityElement.cs
- LicenseContext.cs
- RecognizerInfo.cs
- FactoryRecord.cs
- FacetValueContainer.cs
- RecordBuilder.cs
- WorkflowQueueInfo.cs
- XmlMapping.cs
- UserPersonalizationStateInfo.cs
- StreamWithDictionary.cs
- BinaryObjectReader.cs
- ClassicBorderDecorator.cs
- ListSortDescription.cs
- PerformanceCounterManager.cs
- ResourceDisplayNameAttribute.cs
- CommandSet.cs
- SafeNativeMethods.cs
- FontSourceCollection.cs
- UIElementCollection.cs
- ProbeMatchesMessageCD1.cs
- unsafenativemethodsother.cs
- OleStrCAMarshaler.cs
- XamlPathDataSerializer.cs
- Transform.cs
- FileFormatException.cs
- RepeaterCommandEventArgs.cs
- PreservationFileReader.cs
- BuildManagerHost.cs
- GrammarBuilderWildcard.cs
- FlowDocument.cs
- ViewManagerAttribute.cs
- ChildChangedEventArgs.cs