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
- Logging.cs
- Facet.cs
- XmlWriter.cs
- DataGridViewColumn.cs
- DataIdProcessor.cs
- TextContainerChangedEventArgs.cs
- LayoutUtils.cs
- BindingBase.cs
- entityreference_tresulttype.cs
- TextServicesProperty.cs
- ArrayTypeMismatchException.cs
- ProfileInfo.cs
- SHA256.cs
- PlanCompilerUtil.cs
- MetafileEditor.cs
- WriteTimeStream.cs
- BaseTemplateBuildProvider.cs
- IsolatedStorageFilePermission.cs
- RuntimeConfig.cs
- MouseEvent.cs
- Buffer.cs
- DynamicContractTypeBuilder.cs
- DataTablePropertyDescriptor.cs
- PageCatalogPart.cs
- DataKeyArray.cs
- HandlerFactoryWrapper.cs
- FlowLayoutSettings.cs
- DataGridItemCollection.cs
- HttpBufferlessInputStream.cs
- WSSecurityPolicy12.cs
- CompilerLocalReference.cs
- ProcessModule.cs
- MsmqChannelFactory.cs
- TimeZoneInfo.cs
- SettingsSavedEventArgs.cs
- Lease.cs
- XmlText.cs
- SaveCardRequest.cs
- AppDomainFactory.cs
- XmlDataLoader.cs
- BaseDataBoundControl.cs
- Enlistment.cs
- PropagatorResult.cs
- DoubleAverageAggregationOperator.cs
- CodeExpressionCollection.cs
- BamlLocalizableResourceKey.cs
- TraceHwndHost.cs
- WebPartManager.cs
- NetworkInterface.cs
- BitmapScalingModeValidation.cs
- SqlInternalConnectionTds.cs
- ExpressionList.cs
- WindowsEditBox.cs
- ToolStripSeparator.cs
- DataGridViewComboBoxCell.cs
- ScriptModule.cs
- Function.cs
- NameTable.cs
- DependencySource.cs
- AvTrace.cs
- HtmlEmptyTagControlBuilder.cs
- ValueQuery.cs
- StrokeNodeOperations2.cs
- Point3DCollection.cs
- ColorDialog.cs
- TaskFormBase.cs
- XPathNodeInfoAtom.cs
- SimpleFieldTemplateFactory.cs
- MenuScrollingVisibilityConverter.cs
- ReliableMessagingVersionConverter.cs
- RegexWorker.cs
- XmlNavigatorFilter.cs
- RefreshPropertiesAttribute.cs
- FontResourceCache.cs
- SchemaImporterExtension.cs
- DrawingAttributes.cs
- CommonGetThemePartSize.cs
- NetCodeGroup.cs
- MimePart.cs
- AuthenticatingEventArgs.cs
- CompatibleIComparer.cs
- CharacterBuffer.cs
- SqlServer2KCompatibilityCheck.cs
- CodeIterationStatement.cs
- PowerModeChangedEventArgs.cs
- BindableAttribute.cs
- TraceUtility.cs
- InstanceNotReadyException.cs
- PassportAuthenticationModule.cs
- __Filters.cs
- SignatureTargetIdManager.cs
- ConnectionProviderAttribute.cs
- SubpageParagraph.cs
- DbParameterHelper.cs
- ByteAnimation.cs
- Resources.Designer.cs
- ViewGenResults.cs
- _HTTPDateParse.cs
- TeredoHelper.cs
- WebPartMovingEventArgs.cs