Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / View / TypeToStringValueConverter.cs / 1305376 / TypeToStringValueConverter.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.View { using System.Diagnostics; using System.Globalization; using System.Windows.Data; using System.Runtime; class TypeToStringValueConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { Fx.Assert(targetType.Equals(typeof(string)), "TypeToStringValueConverter cannot convert a type to type " + targetType.FullName); string target = null; if (value != null) { Fx.Assert(value is Type, string.Format(CultureInfo.InvariantCulture, "TypeToStringValueConverter cannot convert from type {0} to string", value.GetType().FullName)); Type editedType = (Type)value; //handle primitive types if (editedType.IsPrimitive || editedType.IsValueType || editedType == typeof(string) || editedType == typeof(object)) { target = editedType.Name; } //and other ones else { target = editedType.FullName; } } return target; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { Fx.Assert(targetType.Equals(typeof(Type)), "TypeToStringValueConverter cannot convert string back to type " + targetType.FullName); Type target = null; string stringValue = value as string; if (!string.IsNullOrEmpty(stringValue)) { // try to get the type from the type name target = Type.GetType(stringValue, false, true); //handle primitive types if (null == target) { stringValue = string.Format(CultureInfo.InvariantCulture, "System.{0}", stringValue); target = Type.GetType(stringValue, false, true); } if (null == target) { return Binding.DoNothing; } } return target; } } } // 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
- MultiPartWriter.cs
- MenuScrollingVisibilityConverter.cs
- ResourceBinder.cs
- ProcessManager.cs
- SamlSecurityToken.cs
- UpdateProgress.cs
- SafeArrayRankMismatchException.cs
- MouseGestureConverter.cs
- BinaryCommonClasses.cs
- CodeCommentStatement.cs
- IdentityNotMappedException.cs
- ComplusTypeValidator.cs
- FreezableDefaultValueFactory.cs
- EntityDataSourceDesignerHelper.cs
- IMembershipProvider.cs
- TaskSchedulerException.cs
- DataPagerField.cs
- UrlPath.cs
- LeftCellWrapper.cs
- TextTreeObjectNode.cs
- Hashtable.cs
- SrgsRule.cs
- ConstrainedDataObject.cs
- _CacheStreams.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- DefaultSerializationProviderAttribute.cs
- QilDataSource.cs
- ChangeDirector.cs
- PageRequestManager.cs
- StylusPointProperties.cs
- WindowsComboBox.cs
- DiscriminatorMap.cs
- XmlReflectionImporter.cs
- WinFormsComponentEditor.cs
- TextParaLineResult.cs
- UInt32.cs
- SizeLimitedCache.cs
- DataControlFieldCollection.cs
- Attachment.cs
- XmlBinaryWriter.cs
- AuthenticodeSignatureInformation.cs
- IChannel.cs
- BitmapSizeOptions.cs
- RepeatInfo.cs
- ImageBrush.cs
- RtfToXamlReader.cs
- DataGridViewCellFormattingEventArgs.cs
- Rijndael.cs
- RecordManager.cs
- SystemNetHelpers.cs
- GridViewEditEventArgs.cs
- UInt32.cs
- XmlParserContext.cs
- WindowsBrush.cs
- PageSettings.cs
- GeometryConverter.cs
- SeekableMessageNavigator.cs
- SEHException.cs
- CopyCodeAction.cs
- Semaphore.cs
- SqlInternalConnectionSmi.cs
- ExitEventArgs.cs
- StopRoutingHandler.cs
- IntSecurity.cs
- QuerySettings.cs
- XXXInfos.cs
- WebPartZoneDesigner.cs
- XmlChildNodes.cs
- SafeFileMappingHandle.cs
- Grid.cs
- HtmlInputSubmit.cs
- Helper.cs
- ViewStateAttachedPropertyFeature.cs
- DetailsView.cs
- MailBnfHelper.cs
- PairComparer.cs
- TimersDescriptionAttribute.cs
- CollectionDataContract.cs
- XmlSchemaSimpleTypeRestriction.cs
- WindowsPrincipal.cs
- DesignOnlyAttribute.cs
- DocumentViewerConstants.cs
- TextElementEnumerator.cs
- XmlSignificantWhitespace.cs
- MatrixStack.cs
- XmlTextWriter.cs
- EmulateRecognizeCompletedEventArgs.cs
- GlyphElement.cs
- ContentTextAutomationPeer.cs
- ReflectionUtil.cs
- MediaElement.cs
- TextCompositionManager.cs
- Application.cs
- LayoutTableCell.cs
- ParameterBinding.cs
- PersonalizationDictionary.cs
- ConvertEvent.cs
- COM2Properties.cs
- CurrentChangingEventManager.cs
- Vector3D.cs