Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ToolStripDropDownItemDesigner.cs
- DifferencingCollection.cs
- FileDialog.cs
- FrameworkPropertyMetadata.cs
- Events.cs
- FixUpCollection.cs
- Mutex.cs
- ServicePointManagerElement.cs
- ToolboxBitmapAttribute.cs
- _IPv6Address.cs
- WorkflowQueue.cs
- DateTimeOffset.cs
- AmbientValueAttribute.cs
- StreamResourceInfo.cs
- DesignerTransactionCloseEvent.cs
- RegexCompilationInfo.cs
- FontClient.cs
- IntegerValidatorAttribute.cs
- AppDomainAttributes.cs
- TypeInitializationException.cs
- CollectionChangeEventArgs.cs
- RootProfilePropertySettingsCollection.cs
- _SpnDictionary.cs
- ListItem.cs
- DataGridViewSelectedCellCollection.cs
- SessionEndedEventArgs.cs
- EncryptedPackage.cs
- OciHandle.cs
- XslCompiledTransform.cs
- FrugalMap.cs
- InheritedPropertyChangedEventArgs.cs
- ObjectQueryExecutionPlan.cs
- SerializeAbsoluteContext.cs
- Helpers.cs
- RegexNode.cs
- CalculatedColumn.cs
- BinaryUtilClasses.cs
- SqlTriggerContext.cs
- WebPartConnectionsCloseVerb.cs
- MenuItemAutomationPeer.cs
- DictionaryItemsCollection.cs
- ProfileServiceManager.cs
- ColumnMapTranslator.cs
- AssemblyNameUtility.cs
- CounterSetInstance.cs
- AdPostCacheSubstitution.cs
- DashStyle.cs
- SmtpLoginAuthenticationModule.cs
- UdpTransportSettingsElement.cs
- NumberSubstitution.cs
- BinaryObjectWriter.cs
- PeerNodeTraceRecord.cs
- NodeFunctions.cs
- ThicknessKeyFrameCollection.cs
- ClientTarget.cs
- CodeIdentifier.cs
- EventPropertyMap.cs
- _NestedSingleAsyncResult.cs
- GPRECT.cs
- UnsafeNativeMethods.cs
- PageParser.cs
- NumberAction.cs
- MenuItem.cs
- BasicHttpMessageSecurityElement.cs
- Screen.cs
- BooleanAnimationBase.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- Quad.cs
- TdsParserSessionPool.cs
- ValidationError.cs
- Vector3D.cs
- Form.cs
- QueryOperator.cs
- SqlConnectionPoolGroupProviderInfo.cs
- UriSchemeKeyedCollection.cs
- XPathScanner.cs
- XmlLoader.cs
- FtpRequestCacheValidator.cs
- DataGridViewColumnEventArgs.cs
- FieldDescriptor.cs
- BindingCompleteEventArgs.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- FormViewInsertEventArgs.cs
- TimeManager.cs
- LoginView.cs
- StorageBasedPackageProperties.cs
- HybridDictionary.cs
- MergeFilterQuery.cs
- BordersPage.cs
- GridViewActionList.cs
- DynamicRenderer.cs
- PreloadedPackages.cs
- MetabaseServerConfig.cs
- JsonByteArrayDataContract.cs
- ModulesEntry.cs
- MouseCaptureWithinProperty.cs
- LocatorManager.cs
- VerificationAttribute.cs
- CustomError.cs
- PngBitmapDecoder.cs