Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- MarkupObject.cs
- SapiRecognizer.cs
- RequiredAttributeAttribute.cs
- OdbcEnvironment.cs
- BoundColumn.cs
- XmlRootAttribute.cs
- EdmItemCollection.OcAssemblyCache.cs
- KnownTypes.cs
- EdgeProfileValidation.cs
- EventSinkHelperWriter.cs
- XmlTextEncoder.cs
- ProtectedProviderSettings.cs
- TableCell.cs
- ApplicationServiceHelper.cs
- ResourcesBuildProvider.cs
- WinEventWrap.cs
- NavigationWindowAutomationPeer.cs
- ObservableCollection.cs
- Events.cs
- OleDbPropertySetGuid.cs
- AccessorTable.cs
- Material.cs
- ListViewGroupCollectionEditor.cs
- UshortList2.cs
- DataDocumentXPathNavigator.cs
- IndexedGlyphRun.cs
- ProjectionCamera.cs
- ElementUtil.cs
- JsonFormatGeneratorStatics.cs
- KeyPressEvent.cs
- ConnectionStringSettingsCollection.cs
- BlurBitmapEffect.cs
- CrossAppDomainChannel.cs
- IndexExpression.cs
- PerfService.cs
- DbParameterCollectionHelper.cs
- XmlSiteMapProvider.cs
- FixedTextSelectionProcessor.cs
- XmlSchemaObjectCollection.cs
- SecurityProtocol.cs
- LocalizationParserHooks.cs
- XpsFilter.cs
- parserscommon.cs
- PropertyGroupDescription.cs
- SignatureDescription.cs
- DataTableNameHandler.cs
- Label.cs
- TextBounds.cs
- TypeConverterHelper.cs
- ToolStripPanelRow.cs
- WebUtil.cs
- ConfigurationSectionGroup.cs
- ScriptingSectionGroup.cs
- ContentWrapperAttribute.cs
- CheckedListBox.cs
- XhtmlBasicPanelAdapter.cs
- PerfProviderCollection.cs
- FrameworkPropertyMetadata.cs
- ListControlConvertEventArgs.cs
- DataGridLinkButton.cs
- XmlAttributeHolder.cs
- PenLineCapValidation.cs
- complextypematerializer.cs
- UnSafeCharBuffer.cs
- CodeSubDirectoriesCollection.cs
- ElementAction.cs
- DirectoryObjectSecurity.cs
- TypedRowHandler.cs
- XmlIlTypeHelper.cs
- ResXBuildProvider.cs
- SimpleHandlerBuildProvider.cs
- DataRowIndexBuffer.cs
- LexicalChunk.cs
- CachedFontFace.cs
- AuthorizationSection.cs
- EdmMember.cs
- WebBrowsableAttribute.cs
- BulletedListEventArgs.cs
- TransactionScopeDesigner.cs
- TextSimpleMarkerProperties.cs
- DocumentGridPage.cs
- TextEditorLists.cs
- RecipientInfo.cs
- XPathNodeIterator.cs
- TextBlock.cs
- EntityContainerRelationshipSetEnd.cs
- KeyFrames.cs
- LineProperties.cs
- AggregateNode.cs
- Rect3D.cs
- RegexRunnerFactory.cs
- input.cs
- NativeMethods.cs
- CodeCompileUnit.cs
- TextEncodedRawTextWriter.cs
- RootProfilePropertySettingsCollection.cs
- BinaryObjectWriter.cs
- Container.cs
- UnmanagedMemoryStream.cs
- SQLInt16.cs