Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- LineServicesRun.cs
- DataControlImageButton.cs
- FloatAverageAggregationOperator.cs
- LinkArea.cs
- XmlNavigatorFilter.cs
- SmiEventSink_DeferedProcessing.cs
- AxHost.cs
- SoapAttributeAttribute.cs
- OdbcRowUpdatingEvent.cs
- SqlWebEventProvider.cs
- ToolStripDropDownDesigner.cs
- HtmlHead.cs
- TextClipboardData.cs
- SendMailErrorEventArgs.cs
- SQLResource.cs
- HttpPostedFile.cs
- GridItemPatternIdentifiers.cs
- DataBindingCollection.cs
- RestClientProxyHandler.cs
- CachedCompositeFamily.cs
- DialogWindow.cs
- ToolStripItemClickedEventArgs.cs
- TextServicesCompartment.cs
- DataGridHelper.cs
- AttributedMetaModel.cs
- Pkcs7Signer.cs
- CanonicalizationDriver.cs
- PieceNameHelper.cs
- ListViewEditEventArgs.cs
- Storyboard.cs
- DragDeltaEventArgs.cs
- SystemIPv6InterfaceProperties.cs
- ParameterElement.cs
- EntityType.cs
- OutputScopeManager.cs
- WindowsTitleBar.cs
- RedistVersionInfo.cs
- TextEditorMouse.cs
- PanningMessageFilter.cs
- DataReaderContainer.cs
- EventNotify.cs
- GridViewAutomationPeer.cs
- GridView.cs
- WebServiceClientProxyGenerator.cs
- UpdatePanel.cs
- SpecialFolderEnumConverter.cs
- ListViewTableRow.cs
- InvalidFilterCriteriaException.cs
- GridLength.cs
- Int64Storage.cs
- HTTPNotFoundHandler.cs
- PartitionResolver.cs
- ApplicationServiceHelper.cs
- PropertyInfo.cs
- RadioButtonFlatAdapter.cs
- RequestStatusBarUpdateEventArgs.cs
- ImageAutomationPeer.cs
- DiagnosticTrace.cs
- TrackingRecord.cs
- Vector3DCollection.cs
- BinHexEncoding.cs
- SourceSwitch.cs
- NativeMethods.cs
- SpecialNameAttribute.cs
- AtomServiceDocumentSerializer.cs
- TreeNodeStyle.cs
- CopyNamespacesAction.cs
- CrossContextChannel.cs
- FollowerQueueCreator.cs
- ActiveDesignSurfaceEvent.cs
- Expr.cs
- RpcResponse.cs
- PrivilegeNotHeldException.cs
- EqualityComparer.cs
- FunctionDefinition.cs
- Condition.cs
- GZipDecoder.cs
- ChannelReliableSession.cs
- BrowserCapabilitiesFactory35.cs
- ActivatableWorkflowsQueryResult.cs
- MatrixStack.cs
- XPathDescendantIterator.cs
- RadioButtonStandardAdapter.cs
- Timer.cs
- PersistChildrenAttribute.cs
- WindowsRebar.cs
- ColorIndependentAnimationStorage.cs
- Brush.cs
- GradientSpreadMethodValidation.cs
- ThreadLocal.cs
- PeerDuplexChannelListener.cs
- LinearKeyFrames.cs
- StringUtil.cs
- Stylesheet.cs
- XmlComplianceUtil.cs
- TextTreeUndoUnit.cs
- OleDbReferenceCollection.cs
- PropertySourceInfo.cs
- DescendantOverDescendantQuery.cs
- PackagePartCollection.cs