Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

132 lines
2.6 KiB

using System;
using System.Collections;
using System.Diagnostics;
using System.Xml.Serialization;
namespace Microsoft.Uddi
{
public class KeyedReference : UddiCore
{
private string tModelKey;
private string keyName;
private string keyValue;
public KeyedReference() : this( "", "", "" )
{}
public KeyedReference(string keyName, string keyValue) : this( keyName, keyValue, "" )
{}
public KeyedReference(string keyName, string keyValue, string tModelKey )
{
KeyName = keyName;
KeyValue = keyValue;
TModelKey = tModelKey;
}
[XmlAttribute("tModelKey")]
public string TModelKey
{
get { return tModelKey; }
set { tModelKey = value; }
}
[XmlAttribute("keyName")]
public string KeyName
{
get { return keyName; }
set { keyName = value; }
}
[XmlAttribute("keyValue")]
public string KeyValue
{
get { return keyValue; }
set { keyValue = value; }
}
}
public class KeyedReferenceCollection : CollectionBase
{
public KeyedReference this[int index]
{
get { return (KeyedReference)List[index]; }
set { List[index] = value; }
}
public int Add(KeyedReference value)
{
return List.Add(value);
}
public int Add( string name, string value )
{
return List.Add( new KeyedReference( name, value ) );
}
public int Add( string name, string value, string key )
{
return List.Add( new KeyedReference( name, value, key ) );
}
public void Insert(int index, KeyedReference value)
{
List.Insert(index, value);
}
public int IndexOf(KeyedReference value)
{
return List.IndexOf(value);
}
public bool Contains(KeyedReference value)
{
return List.Contains(value);
}
public void Remove(KeyedReference value)
{
List.Remove(value);
}
public void CopyTo(KeyedReference[] array, int index)
{
InnerList.CopyTo(array, index);
}
public new KeyedReferenceEnumerator GetEnumerator()
{
return new KeyedReferenceEnumerator( List.GetEnumerator() );
}
}
public sealed class KeyedReferenceEnumerator : IEnumerator
{
private IEnumerator enumerator;
public KeyedReferenceEnumerator( IEnumerator enumerator )
{
this.enumerator = enumerator;
}
public KeyedReference Current
{
get { return ( KeyedReference ) enumerator.Current; }
}
object IEnumerator.Current
{
get{ return enumerator.Current; }
}
public bool MoveNext()
{
return enumerator.MoveNext();
}
public void Reset()
{
enumerator.Reset();
}
}
}