public class ClientData : IEquatable<ClientData>
{
public String CustomerName { get; set; }
public int CustomerId { get; set; }
public bool Equals(ClientData other)
{
if (other == null) return false;
return (CustomerName == other.CustomerName && CustomerId == other.CustomerId);
}
public override int GetHashCode()
{
int hash = 23;
hash = hash * 31 + CustomerName.GetHashCode();
hash = hash * 31 + CustomerId.GetHashCode();
return hash;
}
}
和
public class Service
{
....
}
我正在寻找一种方法来使用我的ClientData但只在我的服务类中,即只有服务类知道clientdata类存在并且可以正常使用它的方法
答案 0 :(得分:3)
使CientData
成为private
嵌套类Service
:
public class Service
{
private class ClientData
{
// ...
}
}
答案 1 :(得分:3)
您可以将其设为嵌套类,例如:
public class Service
{
private class ClientData : IEquatable<ClientData>
{
...
}
}
答案 2 :(得分:2)
通过使ClientData
成为Service
的嵌套类,如下所示,Service
可以创建ClientData
的实例并访问其所有public
方法,但是不能将其公开暴露给其他类,其他类无法实例化ClientData
。
public class Service
{
private class ClientData : IEquatable<ClientData>
{
...
}
...
private ClientData _clientData = new ClientData();
}
答案 3 :(得分:1)
您可以将ClientData类嵌套在Service类中,也可以创建ClientData类protected
并将它们放在同一个程序集中。