C#的类里怎么控制成员或属性的公开隐藏呢

C#的类里如何控制成员或属性的公开隐藏呢?
我有一个类,有a,b,c,d四个成员.
有时候,我想让a,b公开可见,有时候想让b,c公开可见.请问有什么方法能实现吗?
------解决思路----------------------
不是定义的时候就确定的吗?怎么能一下可见一下又不可见呢
------解决思路----------------------
使用关键字进行控制                                  
------解决思路----------------------
这个有时候太诡异了,那你就通过不同的子类来控制吧,或者通过方法也行
------解决思路----------------------
你可以考虑下dynamicobject
------解决思路----------------------
貌似没有办法的吧  有的话告诉我
------解决思路----------------------
引用:
是这样的,我要解析XML文件,XML会传入十几个参数吧,但不是每次都全传的,有时候传4个,有时候传5个这样,就是传的参数数量不定.我想封装成一个类,每个参数都是一个成员或者属性.在调用的时候,我不想那些没赋值的成员显示出来.就是想实现这么一个效果.

有个词语叫做 重载
------解决思路----------------------
public还是private,是编译期间管用的, 你没有必要。
------解决思路----------------------
...意义在哪里,就算你动态控制了他们的访问权限;
那调用这个类的地方呢,他们怎么办?
通常你这种情况,我们是类似这样
class ProjectSetting
{
      public bool UseSpeedConsole{get;set;}
      public int SpeedLevel{get;set;}
}

------解决思路----------------------
你都定义就行了,对方不给值传过来,一样可以反序列化的,在成员上面设置[XmlElement(IsNullable= true)]特性就行了
------解决思路----------------------
看了一下需求,其实根本就用不着隐藏或公开去考虑,思路就不对,普通处理即可,弄成隐藏或公开那样只会更麻烦,看来是不能把类的隐藏或公开了然于胸导致,其实应该换思路去寻求解决.