Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / XmlDataSourceNodeDescriptor.cs / 1 / XmlDataSourceNodeDescriptor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing.Design; using System.Security.Permissions; using System.Text; using System.Web; using System.Web.UI; using System.Web.Util; using System.Xml; using System.Xml.XPath; using AttributeCollection = System.ComponentModel.AttributeCollection; ////// internal sealed class XmlDataSourceNodeDescriptor : ICustomTypeDescriptor, IXPathNavigable { private XmlNode _node; ////// Creates a new instance of XmlDataSourceView. /// public XmlDataSourceNodeDescriptor(XmlNode node) { Debug.Assert(node != null, "Did not expect null node"); _node = node; } AttributeCollection ICustomTypeDescriptor.GetAttributes() { return AttributeCollection.Empty; } string ICustomTypeDescriptor.GetClassName() { return GetType().Name; } string ICustomTypeDescriptor.GetComponentName() { return null; } TypeConverter ICustomTypeDescriptor.GetConverter() { return null; } EventDescriptor ICustomTypeDescriptor.GetDefaultEvent() { return null; } PropertyDescriptor ICustomTypeDescriptor.GetDefaultProperty() { return null; } object ICustomTypeDescriptor.GetEditor(Type editorBaseType) { return null; } EventDescriptorCollection ICustomTypeDescriptor.GetEvents() { return null; } EventDescriptorCollection ICustomTypeDescriptor.GetEvents(Attribute[] attrs) { return null; } PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties() { return ((ICustomTypeDescriptor)this).GetProperties(null); } PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties(Attribute[] attrFilter) { System.Collections.Generic.Listlist = new System.Collections.Generic.List (); XmlAttributeCollection attrs = _node.Attributes; if (attrs != null) { for (int i = 0; i < attrs.Count; i++) { list.Add(new XmlDataSourcePropertyDescriptor(attrs[i].Name)); } } return new PropertyDescriptorCollection(list.ToArray()); } object ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor pd) { if (pd is XmlDataSourcePropertyDescriptor) { return this; } return null; } XPathNavigator IXPathNavigable.CreateNavigator() { return _node.CreateNavigator(); } private class XmlDataSourcePropertyDescriptor : PropertyDescriptor { private string _name; public XmlDataSourcePropertyDescriptor(string name) : base(name, null) { _name = name; } public override Type ComponentType { get { return typeof(XmlDataSourceNodeDescriptor); } } public override bool IsReadOnly { get { return true; } } public override Type PropertyType { get { return typeof(string); } } public override bool CanResetValue(object o) { return false; } public override object GetValue(object o) { XmlDataSourceNodeDescriptor node = o as XmlDataSourceNodeDescriptor; if (node != null) { XmlAttributeCollection attrs = node._node.Attributes; if (attrs != null) { XmlAttribute attr = attrs[_name]; if (attr != null) { return attr.Value; } } } return String.Empty; } public override void ResetValue(object o) { } public override void SetValue(object o, object value) { } public override bool ShouldSerializeValue(object o) { return true; } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PeerTransportSecuritySettings.cs
- DataControlFieldTypeEditor.cs
- HasActivatableWorkflowEvent.cs
- OleDbCommandBuilder.cs
- Variable.cs
- RelativeSource.cs
- BasicExpressionVisitor.cs
- MyContact.cs
- HandleDictionary.cs
- DmlSqlGenerator.cs
- SqlRemoveConstantOrderBy.cs
- InstanceStoreQueryResult.cs
- BamlLocalizer.cs
- EventMappingSettingsCollection.cs
- IPHostEntry.cs
- SecureConversationDriver.cs
- InvalidOperationException.cs
- TransformCryptoHandle.cs
- ReadOnlyDataSourceView.cs
- TransformerTypeCollection.cs
- AssociatedControlConverter.cs
- ToolStripProgressBar.cs
- BroadcastEventHelper.cs
- SyndicationSerializer.cs
- ContainerSelectorActiveEvent.cs
- ImageMap.cs
- XmlSchemaAnyAttribute.cs
- PrintDialog.cs
- XmlNodeComparer.cs
- PropertyGeneratedEventArgs.cs
- PbrsForward.cs
- ClientBuildManagerCallback.cs
- XmlSignatureManifest.cs
- AuthenticationSection.cs
- EditorPartChrome.cs
- _ConnectStream.cs
- DataGridTextBoxColumn.cs
- EncoderFallback.cs
- TcpClientSocketManager.cs
- WebPartUtil.cs
- EventMap.cs
- ErrorTableItemStyle.cs
- Debug.cs
- ProcessRequestArgs.cs
- CodeGenHelper.cs
- printdlgexmarshaler.cs
- TreeViewHitTestInfo.cs
- QuaternionRotation3D.cs
- TraceContextEventArgs.cs
- ToggleButtonAutomationPeer.cs
- TextFormatterHost.cs
- BufferedReadStream.cs
- _LocalDataStore.cs
- HttpSessionStateWrapper.cs
- TypeConverterHelper.cs
- SslStream.cs
- WeakReferenceList.cs
- UseAttributeSetsAction.cs
- GridViewRow.cs
- ScrollChrome.cs
- DiscoveryViaBehavior.cs
- WindowsRegion.cs
- GreenMethods.cs
- ValidationHelper.cs
- ClientBuildManager.cs
- PolyBezierSegment.cs
- SchemaElement.cs
- HttpCacheParams.cs
- WebPartsPersonalization.cs
- UICuesEvent.cs
- Form.cs
- ScrollViewerAutomationPeer.cs
- ReadOnlyDataSource.cs
- xml.cs
- EventMappingSettingsCollection.cs
- WebPartEditorCancelVerb.cs
- XmlSchemaComplexType.cs
- Marshal.cs
- BevelBitmapEffect.cs
- DebugHandleTracker.cs
- DateTimeConverter2.cs
- Native.cs
- StylusPointCollection.cs
- _SSPIWrapper.cs
- DataGridViewTextBoxColumn.cs
- EventListenerClientSide.cs
- MethodImplAttribute.cs
- ComPersistableTypeElementCollection.cs
- MemberDescriptor.cs
- Style.cs
- FloaterParaClient.cs
- FtpCachePolicyElement.cs
- CultureInfoConverter.cs
- WsdlInspector.cs
- ExpressionTable.cs
- Marshal.cs
- WebRequestModulesSection.cs
- DiscoveryEndpointElement.cs
- DesignSurfaceCollection.cs
- MissingManifestResourceException.cs