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
- DataGridPageChangedEventArgs.cs
- AppDomainManager.cs
- NetworkCredential.cs
- CommandBindingCollection.cs
- EntitySqlException.cs
- DataPagerFieldCollection.cs
- IssuanceLicense.cs
- FileNameEditor.cs
- DateTimeHelper.cs
- MappingItemCollection.cs
- WindowsListViewItemCheckBox.cs
- MDIControlStrip.cs
- SettingsPropertyValue.cs
- TrackingLocationCollection.cs
- WmlPageAdapter.cs
- DiscoveryExceptionDictionary.cs
- WindowsStreamSecurityUpgradeProvider.cs
- DtrList.cs
- NoPersistScope.cs
- AttributeTableBuilder.cs
- BinaryConverter.cs
- DataGridViewLinkCell.cs
- ObjectListFieldsPage.cs
- SettingsPropertyValueCollection.cs
- NumberFunctions.cs
- HttpModuleAction.cs
- ConfigXmlComment.cs
- CollectionViewSource.cs
- UIElementPropertyUndoUnit.cs
- DeviceContext2.cs
- ContentValidator.cs
- FontFamily.cs
- VectorAnimationUsingKeyFrames.cs
- MarkupCompilePass1.cs
- HostExecutionContextManager.cs
- HitTestWithGeometryDrawingContextWalker.cs
- Content.cs
- ReferenceEqualityComparer.cs
- CompilerTypeWithParams.cs
- Activity.cs
- AttributeCollection.cs
- ProcessHostConfigUtils.cs
- InputBindingCollection.cs
- PartManifestEntry.cs
- TextEditorCharacters.cs
- XhtmlBasicSelectionListAdapter.cs
- PageThemeBuildProvider.cs
- ToggleButton.cs
- HandleExceptionArgs.cs
- LoginName.cs
- HistoryEventArgs.cs
- xsdvalidator.cs
- SrgsNameValueTag.cs
- ViewUtilities.cs
- NativeRightsManagementAPIsStructures.cs
- Ops.cs
- MonthCalendar.cs
- SafeEventLogWriteHandle.cs
- ConstructorNeedsTagAttribute.cs
- AddingNewEventArgs.cs
- DatatypeImplementation.cs
- TrustSection.cs
- Line.cs
- DataSourceViewSchemaConverter.cs
- FixedSchema.cs
- DependencyPropertyKind.cs
- SelectionWordBreaker.cs
- ResXBuildProvider.cs
- ControlAdapter.cs
- MailWriter.cs
- AnonymousIdentificationSection.cs
- DataGridViewLinkCell.cs
- ProcessModelInfo.cs
- Converter.cs
- DataBindingList.cs
- sortedlist.cs
- PasswordRecovery.cs
- AttachmentService.cs
- Listen.cs
- VoiceObjectToken.cs
- Coordinator.cs
- Int16.cs
- Int32Storage.cs
- PartialCachingControl.cs
- Type.cs
- MatrixValueSerializer.cs
- SelectionProviderWrapper.cs
- SchemaAttDef.cs
- ReferentialConstraint.cs
- ParentUndoUnit.cs
- ConnectorSelectionGlyph.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- WebEvents.cs
- Menu.cs
- XmlSchemaSimpleType.cs
- filewebrequest.cs
- Atom10FormatterFactory.cs
- MimeFormatter.cs
- MenuItem.cs
- HttpMethodConstraint.cs