|
分類:[雑談]
お世話になっております。
ふと思ったことなんですが、
主にC#にて、クラスのメンバやプロパティにアクセス権限というのがあると思います。
public,protected,private…あとはinternalなんてのもありますね。
ただ、自分自身がアクセスできない権限って無いですよね?
ImageListなどの、データ自体が大きい物の場合、
一か所でイメージを作成して、それを色々なクラスで参照して使う、なんてのをやってます。
その場合のコードは簡単に以下のような感じなのですが、
public class ParentClass
{
private ImageList m_clsImageList = new ImageList();
private ChildClass m_clsChildClass = new ChildClass();
public ParentClass()
{
m_clsImageList.Images.Add(new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.Icon.ico")));
m_clsChildClass.BindImageList = m_clsImageList;
}
public ~ParentClass()
{
//解放処理
}
}
public class ChildClass
{
public ImageList BindImageList
{
set; //この例で言ってみれば、ここに自分はアクセスできない権限が欲しいなぁ
get;
}
public ChildClass()
{}
//この先、BindImageListを取得することはあっても割り当てることはない
}
コメントにも書いてありますが、ChildClassのプロパティにそんな権限があったらいいなぁと。
もちろん、そんなのはコーディングしている側で気をつければ良い話なのですが、それはおいといて。
そもそもこういう設計が間違い、というのであればそれはそれで知りたいです。
みなさんはどう思いますか?
|