如何覆盖内部函数

时间:2011-03-25 09:28:53

标签: c# sharepoint

如何使用反射覆盖虚拟内部函数?

我想要实现的sharepoint程序集(SPIisWebServiceApplication)中有一个抽象类。

在我的逻辑中,我有义务覆盖 IisApplicationName 属性,我可以使用反射器看到它,如下所示:

  

内部虚拟字符串   IisApplicationName {       得到       {           return base.Id.ToString(“N”);       }}

它只是内部不受保护......

我不希望IisApplicationName成为id,因为它出现在IIS中。 我想像其他内部实施者那样覆盖它。

2 个答案:

答案 0 :(得分:4)

反思是访问现有类型的结构,而不是更改它。 (您可以更改存储在实例类型中的数据,但不能更改类型本身的结构。)

目前尚不清楚你要做什么,但如果你试图覆盖一个成员,反思不太可能对你有帮助。

答案 1 :(得分:1)

您可以正常派生该类并覆盖该函数,该函数可能是protected virtual internalprivate不能是virtual,如果不是internal,则不需要public它是interal)。这样的访问规范允许 {/ em> protected {{1}}的访问模型 - 即,可以从同一程序集中的类访问该方法来自派生类的

有什么东西阻止你这样做吗?