|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace Harlinn.Oracle.DBTool.Types.Common
{
[Serializable]
public class NodeBase : Named
{
private NodeBase parent;
private BindingList<NodeBase> children;
public NodeBase()
{
}
public NodeBase(NodeBase parent,string name)
: base(name)
{
this.parent = parent;
}
[Browsable(false)]
public NodeBase Parent
{
get
{
return parent;
}
set
{
if (parent == value)
return;
parent = value;
OnPropertyChanged("Parent");
}
}
public virtual void Refresh()
{
Clear();
}
public void Clear()
{
if (children == null)
{
children = new BindingList<NodeBase>();
}
else
{
children.Clear();
}
}
[Browsable(false)]
public BindingList<NodeBase> Children
{
get
{
if (children == null)
{
children = new BindingList<NodeBase>();
Refresh();
}
return children;
}
}
public NodeBase GetChildByName(string name)
{
NodeBase result = null;
BindingList<NodeBase> childElements = Children;
foreach (NodeBase childElement in childElements)
{
if (string.Compare(childElement.Name, name, true) == 0)
{
result = childElement;
break;
}
}
return result;
}
public T GetChildByName<T>(string name) where T:class
{
NodeBase result = GetChildByName(name);
return result as T;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Chief Architect - Sea Surveillance AS.
Specializing in integrated operations and high performance computing solutions.
I’ve been fooling around with computers since the early eighties, I’ve even done work on CP/M and MP/M.
Wrote my first “real” program on a BBC micro model B based on a series in a magazine at that time. It was fun and I got hooked on this thing called programming ...
A few Highlights:
- High performance application server development
- Model Driven Architecture and Code generators
- Real-Time Distributed Solutions
- C, C++, C#, Java, TSQL, PL/SQL, Delphi, ActionScript, Perl, Rexx
- Microsoft SQL Server, Oracle RDBMS, IBM DB2, PostGreSQL
- AMQP, Apache qpid, RabbitMQ, Microsoft Message Queuing, IBM WebSphereMQ, Oracle TuxidoMQ
- Oracle WebLogic, IBM WebSphere
- Corba, COM, DCE, WCF
- AspenTech InfoPlus.21(IP21), OsiSoft PI
More information about what I do for a living can be found at:
harlinn.com or
LinkedIn
You can contact me at
espen@harlinn.no