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
- PatternMatcher.cs
- NetMsmqSecurityMode.cs
- _SecureChannel.cs
- CustomLineCap.cs
- ToolStripOverflow.cs
- WeakEventTable.cs
- BindingContext.cs
- CodePrimitiveExpression.cs
- DbConnectionPoolCounters.cs
- recordstatefactory.cs
- Crc32.cs
- SqlDataSourceQueryEditor.cs
- XmlValueConverter.cs
- coordinatorscratchpad.cs
- URLIdentityPermission.cs
- DesignObjectWrapper.cs
- SmtpNetworkElement.cs
- CalendarButton.cs
- XmlSchemaAnnotated.cs
- StringReader.cs
- SafeHandle.cs
- DesignBindingConverter.cs
- PatternMatchRules.cs
- ReflectionUtil.cs
- TTSVoice.cs
- BaseValidator.cs
- TempEnvironment.cs
- DiscoveryDocumentSearchPattern.cs
- CorrelationManager.cs
- _AutoWebProxyScriptHelper.cs
- xml.cs
- LineBreak.cs
- ExpressionBindingCollection.cs
- ActiveXHost.cs
- ConfigViewGenerator.cs
- HMACSHA512.cs
- Message.cs
- RecipientInfo.cs
- Rotation3D.cs
- PrimitiveSchema.cs
- ContextProperty.cs
- typedescriptorpermission.cs
- PlatformCulture.cs
- ConditionCollection.cs
- CaretElement.cs
- ToolStripComboBox.cs
- TimeManager.cs
- DataPagerFieldCollection.cs
- DockProviderWrapper.cs
- SplitterEvent.cs
- Material.cs
- Model3DCollection.cs
- LinearGradientBrush.cs
- HwndSourceKeyboardInputSite.cs
- TextBlockAutomationPeer.cs
- MetadataPropertyAttribute.cs
- CustomAttribute.cs
- PeerInputChannelListener.cs
- CheckoutException.cs
- Cursor.cs
- DebugView.cs
- CurrentChangingEventManager.cs
- SourceFileBuildProvider.cs
- FeatureSupport.cs
- ExtensionWindow.cs
- Rotation3D.cs
- OleDbFactory.cs
- CaseInsensitiveComparer.cs
- VScrollBar.cs
- CompleteWizardStep.cs
- WmpBitmapEncoder.cs
- PackageRelationship.cs
- UpdatePanelControlTrigger.cs
- MetricEntry.cs
- RegexMatchCollection.cs
- SoapFormatter.cs
- EventLogger.cs
- CatalogZoneDesigner.cs
- ToolStrip.cs
- AutoResizedEvent.cs
- TextPattern.cs
- IntSecurity.cs
- LocalFileSettingsProvider.cs
- AnimationLayer.cs
- DictionaryBase.cs
- SettingsAttributeDictionary.cs
- PlaceHolder.cs
- StylusOverProperty.cs
- TriggerAction.cs
- EventWaitHandleSecurity.cs
- InputLanguageCollection.cs
- ping.cs
- ServiceNameCollection.cs
- KeyPullup.cs
- PersonalizationStateQuery.cs
- RootBuilder.cs
- DataGridViewRowConverter.cs
- XmlDocumentFragment.cs
- ObjectQueryProvider.cs
- RootBuilder.cs