?

Log in

No account? Create an account

August 31st, 2007

fedora 蓝色小药丸

c# 怎么这么奇怪的

问题描述:一个用来描述文件的类,文件的属性是文件名,文件的方法是备份。还有一个静态方法是取已备份的最后一个文件,对这个文件不做备份。

有两批不同的文件要处理,所以要基于上面的情况,做两个类。

想定义一个只有 get 方法的 property,好让两个类的代码看起来"像一些",可是如果是 interface 就必须是
public,如果是基类就必须有个函数体。

还有一个方法,也是只要 private 就好了,可是就是不能放 interface 里头。其实是想搞一个单例,可是 interface
不支持 static,不支持就算了。

据说可以用 attribute 来做么

怎么办呢


update:
理解错了的事情: CurrentFile 和 LatestFile 对于 listfile 来讲是 singleton,但是对于 advfile 就不是,每个 advfile 有自己的最新的文件和存档。

为了使用一致的接口,还是应用 MyFile 基类处理 CurrentFile (存档),用 IArchivable 接口区分 LatestFile 的方法。不在基类里使用任何 static,唯一使用 static 的地方是 listfile 的 LatestListFile (隐藏掉构造函数)。

在 vim 中编译的命令是 :!mcs %




Read more...Collapse )
Tags: