问题描述
类a和类b属于不同的Dll文件,类a是基类,类b继承与类a。现问题是,由于我要获取类b的文件名,不想每次都写,所以想通过类a的属性返回类b的文件名,这样,就可以通过调用类b直接获取类b的文件名了。这要怎么实现!求大神帮忙啊!
解决方案
解决方案二:
貌似用虚属性就可以解决吧publicvirtualstringFileName{get;protectedset;}类a中直接使用这个属性就好类b中重写publicoverridestringFileName{get{returnxxx;}protectedset{xxx=value;}}
解决方案三:
由于我要获取类b的文件名这个文件名是属性吗,还是你要获取dll的文件名?
解决方案四:
文件名Dll的文件名
解决方案五:
文件名?改名了呢?
解决方案六:
看不懂,这个继承有什么关系呢?
解决方案七:
引用4楼jinfengyiye的回复:
文件名?改名了呢?
改名了程序启动应该会报找不到程序集,类型初始化错误的publicoverridestringFileName{get{returnthis.GetType().Assembly.Location或者GetName()}}
解决方案八:
abstractclassA{publicabstractstringGetAssemblyLocation();}classB:A{publicvoerridestringGetAssemblyLocation(){stringFullFileName=Assembly.GetAssembly(typeof(B)).Location;stringFileName=Path.GetFileName(FullFileName);returnFileName;//这就是B类所在文件的文件名称}}
解决方案九:
该回复于2015-08-15 00:03:32被版主删除