专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

Shared 函数中如何返回 Class Name

发布时间:2011-06-23 16:02:32 文章来源:www.iduyao.cn 采编人员:星星草
Shared 函数中怎么返回 Class Name
比如,我们在类被实例化后,返回类名的方法是:
VB.NET code

Class Person
    public function getFullClassName() as string
        return me.getType.FullName.Trim
    end function
End Class


那么,如果 getClassName() 函数是 shared 的时候该怎么办啊?
VB.NET code

Public Mustinherit Class Person
    public shared function getFullClassName() as string
        return "???"    '这里想返回 Inherit 了此类的类名该怎么办?
    end function
End Class

public class Man
    inherit Person

    private mSex as string
    '...
end class


'调用意图: 其实,这时候您可能已经发现,我的最终目的是想通过
在类 Man 被实例化之前,直接 Man.getFullClassName() 得到 Man 的全名;
同时又不想把 getFullClassName 写在 Man 里(因为类似 Man 的东西很多)

[求高人指点,100分敬上!谢谢...]



------解决方案--------------------
你可以使用虚拟函数


Public Mustinherit Class Person
public MustOverride function getFullClassName() as string
End Class

public class Man
inherit Person

private mSex as string
public Overrides function getFullClassName() as string 
return me.getType.FullName.Trim
end function
end class

使用的时候
Dim obj as Person = new Man
obj.getFullClassName返回的是 man的类名。

不太熟悉vb.net的语法,可能有些许错误,大意就是这样。

------解决方案--------------------
你是要做工具类还是要通过继承?

工具类,你传递类型当参数

继承的话,派生类都会有基类的访问级别够的方法
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: