Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / StringArrayEditor.cs / 1 / StringArrayEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms.Design { using System; using System.Collections; using Microsoft.Win32; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Drawing; using System.Windows.Forms; ////// /// The StringArrayEditor is a collection editor that is specifically /// designed to edit arrays containing strings. /// internal class StringArrayEditor : StringCollectionEditor { [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] public StringArrayEditor(Type type) : base(type) { } ////// /// Retrieves the data type this collection contains. The default /// implementation looks inside of the collection for the Item property /// and returns the returning datatype of the item. Do not call this /// method directly. Instead, use the CollectionItemType property. Use this /// method to override the default implementation. /// protected override Type CreateCollectionItemType() { return CollectionType.GetElementType(); } ////// /// We implement the getting and setting of items on this collection. /// protected override object[] GetItems(object editValue) { Array valueArray = editValue as Array; if (valueArray == null) { return new object[0]; } else { object[] items = new object[valueArray.GetLength(0)]; Array.Copy(valueArray, items, items.Length); return items; } } ////// /// We implement the getting and setting of items on this collection. /// It should return an instance to replace editValue with, or editValue /// if there is no need to replace the instance. /// protected override object SetItems(object editValue, object[] value) { if (editValue is Array || editValue == null) { Array newArray = Array.CreateInstance(CollectionItemType, value.Length); Array.Copy(value, newArray, value.Length); return newArray; } return editValue; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SchemaRegistration.cs
- ListView.cs
- DataSourceDesigner.cs
- XmlAttributeCache.cs
- Ray3DHitTestResult.cs
- DataGridViewBand.cs
- TextMessageEncodingBindingElement.cs
- SymmetricAlgorithm.cs
- ParentControlDesigner.cs
- hresults.cs
- SymbolMethod.cs
- PaintValueEventArgs.cs
- SaveFileDialog.cs
- storagemappingitemcollection.viewdictionary.cs
- ContextDataSourceContextData.cs
- ToolStripRenderer.cs
- CompareInfo.cs
- DateTimeFormatInfo.cs
- CustomValidator.cs
- PcmConverter.cs
- XmlCodeExporter.cs
- PointUtil.cs
- ApplicationException.cs
- SqlInternalConnectionSmi.cs
- DataView.cs
- Message.cs
- HtmlTitle.cs
- LicenseContext.cs
- TrailingSpaceComparer.cs
- WebEvents.cs
- SynchronizedInputAdaptor.cs
- WebPartDisplayModeCancelEventArgs.cs
- NetDispatcherFaultException.cs
- IntegerValidator.cs
- ModelItemKeyValuePair.cs
- HttpPostProtocolReflector.cs
- KeyTime.cs
- InvalidOleVariantTypeException.cs
- HexParser.cs
- CompoundFileStorageReference.cs
- ObsoleteAttribute.cs
- Margins.cs
- DesignTimeXamlWriter.cs
- BCLDebug.cs
- DataGridViewCell.cs
- XPathCompileException.cs
- BindingContext.cs
- Oid.cs
- NetNamedPipeBinding.cs
- DemultiplexingClientMessageFormatter.cs
- EpmSyndicationContentDeSerializer.cs
- BamlMapTable.cs
- SafeRegistryHandle.cs
- DBBindings.cs
- PostBackOptions.cs
- CodeEventReferenceExpression.cs
- WorkflowServiceNamespace.cs
- Rule.cs
- IndexingContentUnit.cs
- WebPartConnectionsCancelEventArgs.cs
- XmlSchemaAppInfo.cs
- IdentityReference.cs
- ScopelessEnumAttribute.cs
- AutomationPatternInfo.cs
- SkinBuilder.cs
- GC.cs
- SemanticBasicElement.cs
- SiteOfOriginContainer.cs
- Enum.cs
- HebrewCalendar.cs
- ContentPosition.cs
- AuthenticationModuleElementCollection.cs
- SecUtil.cs
- VectorCollectionValueSerializer.cs
- HtmlImage.cs
- GeometryConverter.cs
- MenuItem.cs
- WorkItem.cs
- RawMouseInputReport.cs
- CompositeTypefaceMetrics.cs
- Menu.cs
- AssociationSetMetadata.cs
- Task.cs
- ProcessModuleCollection.cs
- XmlUtilWriter.cs
- DataGridViewCellParsingEventArgs.cs
- XPathItem.cs
- Assert.cs
- WorkflowInstanceSuspendedRecord.cs
- ZipIOLocalFileBlock.cs
- DefaultExpression.cs
- SqlNotificationRequest.cs
- DataGridViewCellEventArgs.cs
- Int32EqualityComparer.cs
- LineBreakRecord.cs
- DataKeyArray.cs
- RemotingAttributes.cs
- MatrixStack.cs
- SecurityManager.cs
- ToolStripTextBox.cs