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
- NetworkAddressChange.cs
- TextProperties.cs
- TreeViewAutomationPeer.cs
- SourceChangedEventArgs.cs
- ToolStripPanelCell.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- FilterException.cs
- ActiveXHelper.cs
- DecimalStorage.cs
- LoginUtil.cs
- IItemProperties.cs
- printdlgexmarshaler.cs
- assemblycache.cs
- XmlCodeExporter.cs
- OpenFileDialog.cs
- MetadataUtil.cs
- Descriptor.cs
- ManualResetEvent.cs
- IERequestCache.cs
- ControlDesigner.cs
- activationcontext.cs
- ListViewSelectEventArgs.cs
- LocalizationComments.cs
- DefaultSerializationProviderAttribute.cs
- SendMessageRecord.cs
- MatrixConverter.cs
- EasingKeyFrames.cs
- PartitionedStream.cs
- dataprotectionpermission.cs
- StandardOleMarshalObject.cs
- GridLength.cs
- ChannelProtectionRequirements.cs
- SecurityException.cs
- UrlMappingsSection.cs
- CheckableControlBaseAdapter.cs
- BooleanFunctions.cs
- FileLevelControlBuilderAttribute.cs
- GridViewRowCollection.cs
- DataBindingList.cs
- StoreContentChangedEventArgs.cs
- BitmapDownload.cs
- MarkupWriter.cs
- StrongBox.cs
- TemplateComponentConnector.cs
- Polygon.cs
- XmlExpressionDumper.cs
- WebPartDisplayMode.cs
- SingleTagSectionHandler.cs
- DependencyProperty.cs
- ArrayWithOffset.cs
- EventWaitHandle.cs
- CommandEventArgs.cs
- SymbolPair.cs
- XsltException.cs
- DatagridviewDisplayedBandsData.cs
- XamlReaderConstants.cs
- PeerContact.cs
- TagPrefixCollection.cs
- CodeTypeParameter.cs
- TextDecorationCollectionConverter.cs
- SingleConverter.cs
- ExpressionLink.cs
- DataGridViewSelectedCellCollection.cs
- XdrBuilder.cs
- IndexedGlyphRun.cs
- ListBase.cs
- DependentTransaction.cs
- ToolStripHighContrastRenderer.cs
- XmlQualifiedNameTest.cs
- PolygonHotSpot.cs
- OrderedDictionary.cs
- KeyFrames.cs
- BigInt.cs
- TextRangeBase.cs
- DragEvent.cs
- RequestSecurityTokenForRemoteTokenFactory.cs
- ConditionalExpression.cs
- StyleCollection.cs
- AsyncResult.cs
- DataTableClearEvent.cs
- SourceFileBuildProvider.cs
- StorageAssociationTypeMapping.cs
- Annotation.cs
- DiagnosticsConfiguration.cs
- Rectangle.cs
- WindowsTitleBar.cs
- BitmapScalingModeValidation.cs
- WebPartDisplayMode.cs
- WorkflowTimerService.cs
- BamlLocalizationDictionary.cs
- HandlerMappingMemo.cs
- CalendarTable.cs
- StateInitializationDesigner.cs
- Missing.cs
- ConcurrentQueue.cs
- EventItfInfo.cs
- LookupNode.cs
- UserPreferenceChangingEventArgs.cs
- TransportOutputChannel.cs
- CodeAccessPermission.cs