【问题标题】:Why does VS2012 "Extract Interface" generate private (sorry, internal) interfaces为什么VS2012“提取接口”会生成私有(对不起,内部)接口
【发布时间】:2013-11-08 08:20:45
【问题描述】:

这只是轻微的刺激,但我无法理解他们为什么要这样设计。如果你在一个类上“提取接口”,它总是会创建一个没有访问修饰符的类,换句话说,它是一个私有接口。谁能告诉我您将如何曾经使用私有界面?

编辑

我的错误,我应该说内部......这个问题似乎是duplicate

【问题讨论】:

  • 我也同意奇怪的是接口至少没有获得原始类的修饰符,或者向导中有修饰符的选项。

标签: c# visual-studio-2012 interface private


【解决方案1】:

它不是私有的,当没有访问修饰符时它是内部的。

如果缺少修饰符,则只有某些元素(例如字段)变为私有。

您可以在简单地创建一个新的控制台应用程序时非常清楚地看到这种行为:Program 类也没有修饰符,而且它肯定不是私有的;-)。

【讨论】:

  • 谢谢,但这并不是我真正要问的 :-) 我已经编辑了我的问题...无论如何似乎是重复的
【解决方案2】:

正如在前面的答案中指出的那样,访问对于接口来说不是私有的,而是内部的。

默认情况下,任何Property/Class/Interface 都是在没有访问修饰符的情况下创建的。如果这让您感到烦恼,您可以在 Visual Studio 的模板 here 中找到有关如何更改类的访问修饰符的详细说明。

您可以根据需要对其进行自定义。

【讨论】:

  • 感谢您的链接,但只有在您添加新界面时才有效。我不知道“提取界面”是否在某个地方有自己独特的模板(?)
  • 我接受您的回答,因为您至少尝试提出(免费)解决方法:-)
  • 我试图为 VisualStudio 的重构找到自定义模板 -> 提取接口。找不到太多信息。感谢您接受
【解决方案3】:

接口的默认访问修饰符是internal。另外,我建议您使用“Resharper”,因为它有很多重构选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多