public void CopyFrom (ChannelData other)
{
if (Ref == null) Ref = other.Ref;
if (Id == null) Id = other.Id;
if (Type == null) Type = other.Type;
if (DelayLoadAsClientChannel == null) DelayLoadAsClientChannel = other.DelayLoadAsClientChannel;
if (other._customProperties != null)
{
foreach (DictionaryEntry entry in other._customProperties)
if (!CustomProperties.ContainsKey (entry.Key))
CustomProperties [entry.Key] = entry.Value;
}
if (_serverProviders == null && other._serverProviders != null)
{
foreach (ProviderData prov in other._serverProviders)
{
ProviderData np = new ProviderData();
np.CopyFrom (prov);
ServerProviders.Add (np);
}
}
if (_clientProviders == null && other._clientProviders != null)
{
foreach (ProviderData prov in other._clientProviders)
{
ProviderData np = new ProviderData();
np.CopyFrom (prov);
ClientProviders.Add (np);
}
}
}
}