Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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; } } } } // 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
- TextEditorCopyPaste.cs
- MatrixTransform3D.cs
- _SingleItemRequestCache.cs
- DirtyTextRange.cs
- HttpFormatExtensions.cs
- UpdateExpressionVisitor.cs
- StringAnimationUsingKeyFrames.cs
- RegexEditorDialog.cs
- WindowPatternIdentifiers.cs
- PeerNearMe.cs
- HtmlTextArea.cs
- ColumnPropertiesGroup.cs
- BrowserDefinitionCollection.cs
- ReachVisualSerializer.cs
- ResourcePart.cs
- SafePEFileHandle.cs
- TextTreeRootTextBlock.cs
- LexicalChunk.cs
- ColumnWidthChangingEvent.cs
- XmlQueryTypeFactory.cs
- ByteStack.cs
- AggregateNode.cs
- RuntimeArgumentHandle.cs
- SchemaElementLookUpTableEnumerator.cs
- OutputCacheSettings.cs
- Function.cs
- FileChangesMonitor.cs
- ExpressionBindingCollection.cs
- WebConfigurationHostFileChange.cs
- LoadRetryAsyncResult.cs
- WindowClosedEventArgs.cs
- DecimalAnimation.cs
- RefreshEventArgs.cs
- RecognizeCompletedEventArgs.cs
- XmlSchemaSet.cs
- ProfileParameter.cs
- ReceiveContextCollection.cs
- LocationEnvironment.cs
- MatrixAnimationBase.cs
- FontNamesConverter.cs
- AssemblyBuilder.cs
- Window.cs
- ImplicitInputBrush.cs
- TypedDataSetSchemaImporterExtension.cs
- FigureHelper.cs
- DataListItemCollection.cs
- SvcMapFile.cs
- RepeatEnumerable.cs
- SqlDependencyUtils.cs
- Compiler.cs
- CompositeScriptReference.cs
- MimeObjectFactory.cs
- CardSpaceException.cs
- ColorTransform.cs
- XmlObjectSerializer.cs
- _SslSessionsCache.cs
- ContainerParagraph.cs
- HttpsTransportElement.cs
- SoapTypeAttribute.cs
- ListControl.cs
- MaskedTextBox.cs
- RsaSecurityToken.cs
- SqlEnums.cs
- ButtonBase.cs
- sqlser.cs
- Metadata.cs
- ContextStack.cs
- WebProxyScriptElement.cs
- CompoundFileIOPermission.cs
- SelectorAutomationPeer.cs
- OleServicesContext.cs
- CursorConverter.cs
- ResXResourceSet.cs
- ScrollChrome.cs
- KernelTypeValidation.cs
- _ShellExpression.cs
- XmlDocumentType.cs
- ColumnMapProcessor.cs
- QilFactory.cs
- ProxyWebPart.cs
- HybridWebProxyFinder.cs
- ApplicationSecurityManager.cs
- LocationReference.cs
- PeerUnsafeNativeMethods.cs
- TemplateBaseAction.cs
- QueryStringHandler.cs
- TreeWalkHelper.cs
- UserControl.cs
- OleDbDataAdapter.cs
- IOThreadTimer.cs
- HashSetDebugView.cs
- PasswordBoxAutomationPeer.cs
- SafeEventLogReadHandle.cs
- DataContractSerializerSection.cs
- CategoryNameCollection.cs
- DefaultTextStoreTextComposition.cs
- WebRequestModuleElementCollection.cs
- ELinqQueryState.cs
- ConnectionsZone.cs
- OrderablePartitioner.cs