Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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.List list = 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.
//
//-----------------------------------------------------------------------------
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.List list = 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlErrorCollection.cs
- WindowsEditBoxRange.cs
- StaticTextPointer.cs
- MultiTrigger.cs
- DataControlCommands.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- ValidationEventArgs.cs
- ReceiveActivityDesigner.cs
- HttpModulesSection.cs
- ClipboardProcessor.cs
- RuntimeConfig.cs
- sortedlist.cs
- TextTreeText.cs
- PanelStyle.cs
- DependencyPropertyConverter.cs
- DecimalKeyFrameCollection.cs
- ObjectStateEntry.cs
- SynchronizedDispatch.cs
- PrePostDescendentsWalker.cs
- HttpCachePolicyElement.cs
- ProfileService.cs
- TypeUsageBuilder.cs
- DependencyPropertyChangedEventArgs.cs
- EventRoute.cs
- SymLanguageType.cs
- TabControl.cs
- CachedPathData.cs
- InvariantComparer.cs
- HttpGetClientProtocol.cs
- TemplateBindingExtensionConverter.cs
- ExceptionHandler.cs
- CriticalHandle.cs
- DataTableMappingCollection.cs
- XmlAttributeOverrides.cs
- RtfToken.cs
- EncodingNLS.cs
- QilGenerator.cs
- HttpCookieCollection.cs
- NullableBoolConverter.cs
- QilTargetType.cs
- ErrorStyle.cs
- DocumentApplicationJournalEntry.cs
- CodeMethodMap.cs
- AttributeCollection.cs
- UIPropertyMetadata.cs
- FactoryId.cs
- DescendantBaseQuery.cs
- Int16Converter.cs
- ConstrainedDataObject.cs
- ComboBoxAutomationPeer.cs
- AuthenticationManager.cs
- GestureRecognizer.cs
- CroppedBitmap.cs
- WebPartsPersonalization.cs
- ColorAnimationUsingKeyFrames.cs
- Enumerable.cs
- QuadTree.cs
- SimpleType.cs
- Transform.cs
- DataObjectAttribute.cs
- FileChangesMonitor.cs
- SolidColorBrush.cs
- BitmapEffectDrawingContextState.cs
- ResourceManager.cs
- PropertyDescriptorComparer.cs
- ListViewDeleteEventArgs.cs
- HTMLTextWriter.cs
- TriState.cs
- DebugControllerThread.cs
- PortCache.cs
- IPPacketInformation.cs
- StyleSheetRefUrlEditor.cs
- QuerySettings.cs
- DateTimeFormatInfoScanner.cs
- ConstraintStruct.cs
- Renderer.cs
- StorageAssociationTypeMapping.cs
- ListArgumentProvider.cs
- Token.cs
- CopyNamespacesAction.cs
- FrameSecurityDescriptor.cs
- ProfilePropertyNameValidator.cs
- SystemResources.cs
- WindowsUpDown.cs
- ClientSettingsSection.cs
- PropertyPath.cs
- DispatcherEventArgs.cs
- InputProcessorProfiles.cs
- CodeTypeReference.cs
- CurrentTimeZone.cs
- TimerExtension.cs
- DataServiceRequestArgs.cs
- RectangleHotSpot.cs
- XmlILConstructAnalyzer.cs
- RangeBase.cs
- TextRangeSerialization.cs
- JoinElimination.cs
- Int32AnimationUsingKeyFrames.cs
- DrawingContextDrawingContextWalker.cs
- ItemCollection.cs