UnitTestするです。
UnitTest時にはprivateな変数やメソッドも使いたいって
シチュエーションが少なからずあるですよ。
C++ならば:
#ifdef UNITTEST
#define private public
#endif
class foo {
private: // UNITTEST定義時にはpublicにすり替わる
int n;
void f();
};
なんてマネができます。
...さて、C#ではどぉしましょぉ...悩んでいます。
class foo {
private int n;
private int f() { ... }
#if UNITTEST
public int n_ { get { return n; } set { n = value; }}
public int f_() { return f(); }
#endif
}
ですか? エレガンスに欠けるんですケド...