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
- ViewGenerator.cs
- TransformGroup.cs
- DES.cs
- DispatcherObject.cs
- MessageVersion.cs
- IdentityHolder.cs
- _TransmitFileOverlappedAsyncResult.cs
- TextContainerChangeEventArgs.cs
- LiteralTextContainerControlBuilder.cs
- CommandSet.cs
- PlanCompiler.cs
- RecipientIdentity.cs
- RenderDataDrawingContext.cs
- Matrix.cs
- DataBindingCollectionConverter.cs
- PropertyInfoSet.cs
- TrackBarRenderer.cs
- Relationship.cs
- PageRanges.cs
- TreeBuilder.cs
- QilPatternVisitor.cs
- UIntPtr.cs
- StylusDevice.cs
- rsa.cs
- Quaternion.cs
- UiaCoreApi.cs
- LabelDesigner.cs
- QueryAsyncResult.cs
- MetadataReference.cs
- ActivationArguments.cs
- mactripleDES.cs
- DataGridViewUtilities.cs
- DataControlPagerLinkButton.cs
- EnvelopedPkcs7.cs
- NotImplementedException.cs
- SafeNativeMethods.cs
- SystemEvents.cs
- XMLDiffLoader.cs
- StrongName.cs
- MergeEnumerator.cs
- WrappedReader.cs
- ResourceBinder.cs
- TextEffect.cs
- GridItemProviderWrapper.cs
- MembershipAdapter.cs
- TraceListener.cs
- FontFamily.cs
- EntityDataSourceReferenceGroup.cs
- SaveFileDialogDesigner.cs
- CacheMode.cs
- ByteArrayHelperWithString.cs
- IOException.cs
- ParseChildrenAsPropertiesAttribute.cs
- ListSortDescription.cs
- SafeArchiveContext.cs
- ComplexObject.cs
- TableLayoutCellPaintEventArgs.cs
- XmlSecureResolver.cs
- InputScopeConverter.cs
- DBAsyncResult.cs
- HttpRequest.cs
- TransformedBitmap.cs
- StylusButtonCollection.cs
- BasicExpressionVisitor.cs
- ObjectListCommand.cs
- RelatedPropertyManager.cs
- InputChannel.cs
- DataComponentMethodGenerator.cs
- IISUnsafeMethods.cs
- GenericEnumerator.cs
- MimeTypePropertyAttribute.cs
- SizeIndependentAnimationStorage.cs
- ListViewItem.cs
- LiteralTextContainerControlBuilder.cs
- BoolExpr.cs
- SecurityTokenValidationException.cs
- SystemIPInterfaceStatistics.cs
- DataSource.cs
- ConstantProjectedSlot.cs
- StylusDownEventArgs.cs
- QueryException.cs
- BehaviorEditorPart.cs
- EdmComplexTypeAttribute.cs
- ReflectionTypeLoadException.cs
- Win32SafeHandles.cs
- DynamicObjectAccessor.cs
- Clock.cs
- ServicePoint.cs
- CombinedGeometry.cs
- XmlAttributeCollection.cs
- StoreContentChangedEventArgs.cs
- errorpatternmatcher.cs
- HtmlProps.cs
- DeflateEmulationStream.cs
- GPPOINT.cs
- XmlSchemaAppInfo.cs
- XPathQilFactory.cs
- Semaphore.cs
- JapaneseCalendar.cs
- SmtpMail.cs