C#中默认将接口设置为公共接口

5

是否有办法让Visual Studio创建我的接口“public”?例如,在文件夹上右键单击 -> 创建新项目 -> 代码 ->接口。

每当文件被创建时,都没有访问修饰符。

interface IMyInterface 
{

}

有没有办法将其默认设置为公共的?
public interface IMyInterface
{

}

我总是忘记手动将它们更改为公共的(当它们需要时)。


我不这么认为,因为编程的主要规则之一是封装。如果所有东西都是公开的,那么这个规则就没有任何意义了。在我看来,你最好重写你的代码。 - jAC
1
可能是如何在Visual Studio中创建新类时将其默认设置为公共的?的重复问题。请注意,该链接包含一个详细说明如何修改该行为的答案。 - slugster
@JanesAbouChleih 注意我说的是“需要时”,我不会将所有内容都设置为公共的。那样做很愚蠢 :) - Anonymous
哦,是的,你说得对。可能是我疏忽了。 - jAC
2个回答

5

请使用上面展示的公共接口IMyInterface打开您的项目。

前往文件 > 导出模板

按照步骤操作(确保选择模板而不是项目模板),并将其保存为您选择的名称。

当您重新启动Visual Studio并打开一个项目时,它将在添加项目对话框中可用。您可以像其他项目一样从对话框中设置接口的名称。

请注意,这不会覆盖Visual Studio安装的默认接口模板,因此在需要时仍然可以轻松创建私有接口。


只是一个细节:像接口一样的类型,如果没有嵌套在某个“class”或“struct”中,就不能被称为“private”。因为“private”的意思是“只能被同一类/结构的其他成员访问”,而这个接口不是任何类/结构的成员。实际上,对于非嵌套类型,唯一的可能性是“public”和“internal”(后者是默认访问级别)。仍然是一个关于如何修改Visual Studio模板的好答案。 - Jeppe Stig Nielsen
是的,你说得完全正确。感谢你的澄清。 - Benjamin Gale

1

您还可以创建公共接口的代码片段,例如:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
    <Header>
        <Title>public interface</Title>
    </Header>
    <Snippet>
        <Code Language="csharp">
            <![CDATA[
    public interface IMyInterface
        {
            }
    ]]>
        </Code>
    </Snippet>
</CodeSnippet>

并将其保存为publicinterfacecsharp.snippet。 然后进入工具 -> 代码段管理器...
选择语言为C#和我的代码段文件夹,然后点击导入..并指向保存代码段的位置。现在在任何新项目中,您都可以右键单击编辑器窗口并选择插入代码段 -> 我的代码段 -> publicinterfacecsharp。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接