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
- DependentList.cs
- KnownTypesHelper.cs
- Geometry3D.cs
- DashStyles.cs
- ProcessModuleCollection.cs
- ExpressionParser.cs
- NetDataContractSerializer.cs
- DataSetUtil.cs
- SQlBooleanStorage.cs
- DetailsViewUpdateEventArgs.cs
- cache.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- DirectoryObjectSecurity.cs
- IteratorDescriptor.cs
- TriState.cs
- AccessDataSource.cs
- SystemParameters.cs
- ControlHelper.cs
- AlternateViewCollection.cs
- Perspective.cs
- _Events.cs
- _IPv6Address.cs
- OracleTransaction.cs
- __FastResourceComparer.cs
- TextTreeInsertUndoUnit.cs
- TextCharacters.cs
- StringStorage.cs
- DBAsyncResult.cs
- PackWebRequestFactory.cs
- ItemTypeToolStripMenuItem.cs
- ValueUtilsSmi.cs
- BehaviorEditorPart.cs
- TypedTableHandler.cs
- TabControl.cs
- CompositionTarget.cs
- CommentEmitter.cs
- GeneralTransform2DTo3D.cs
- KoreanLunisolarCalendar.cs
- ToolStripSplitButton.cs
- ProviderSettingsCollection.cs
- Timeline.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- DiscoveryDefaults.cs
- StylusDevice.cs
- WindowsAuthenticationEventArgs.cs
- ServerValidateEventArgs.cs
- ExpressionConverter.cs
- PrimitiveSchema.cs
- HtmlGenericControl.cs
- SafeNativeMethods.cs
- AppSettingsExpressionEditor.cs
- PostBackTrigger.cs
- AppDomainUnloadedException.cs
- _ScatterGatherBuffers.cs
- HotCommands.cs
- RemoteHelper.cs
- EntityCommandExecutionException.cs
- SqlInfoMessageEvent.cs
- CompoundFileStorageReference.cs
- DefinitionUpdate.cs
- CheckBox.cs
- EventProvider.cs
- WebRequestModuleElementCollection.cs
- AmbiguousMatchException.cs
- ExclusiveCanonicalizationTransform.cs
- AvTraceFormat.cs
- StringStorage.cs
- PersistenceException.cs
- basevalidator.cs
- ListViewItem.cs
- TraceContextRecord.cs
- DbConnectionPoolIdentity.cs
- HostingPreferredMapPath.cs
- OrderByQueryOptionExpression.cs
- RtfToXamlReader.cs
- XdrBuilder.cs
- ManifestSignatureInformation.cs
- NativeMethods.cs
- ThreadPool.cs
- Fonts.cs
- SecuritySessionSecurityTokenProvider.cs
- MouseEventArgs.cs
- BookmarkNameHelper.cs
- XamlReader.cs
- LifetimeMonitor.cs
- IsolatedStorageFilePermission.cs
- SchemaTableColumn.cs
- WebConfigurationManager.cs
- ColumnMapCopier.cs
- DataGridViewTextBoxCell.cs
- AuthenticationManager.cs
- TemplateField.cs
- GridPattern.cs
- WsdlContractConversionContext.cs
- NameValuePermission.cs
- DynamicVirtualDiscoSearcher.cs
- LinqDataSourceStatusEventArgs.cs
- DateTimeAutomationPeer.cs
- MembershipPasswordException.cs
- QuestionEventArgs.cs