Visual C# - 缺少部分修饰符
Posted
技术标签:
【中文标题】Visual C# - 缺少部分修饰符【英文标题】:Visual C# - Missing partial modifier 【发布时间】:2015-10-28 05:04:18 【问题描述】:我收到一条错误消息,提示“'projectName.Main' 类型的声明缺少部分修饰符;此类型的另一个部分声明存在。 从我能读到的关于这个错误的信息中,这是因为我有同名的类。如果我将主类修改为公共部分类 Main:Form,它确实有效,但我想知道为什么它会给我这个错误。我需要在 Main() 中初始化组件,尝试创建一个方法 start(),然后在加载事件中调用 main.Start(),但随后表单加载为空白。
namespace projectName
public class Main : Form
public Main() // Method: Starts the main form
InitializeComponent();
public void Main_Load(object sender, EventArgs e)
// On load of main class, handle events and arguments
Main main = new Main();
main.getCurrentDomain();
public void getCurrentDomain() // Method: Get current domain
Domain domain = Domain.GetCurrentDomain();
// Ends the main class
【问题讨论】:
在给定的命名空间中只能存在一个具有给定名称的类。您的程序集中不能有两个名为projectName.Main
的类。但是,您可以在不同的地方声明同一 projectName.Main
类的不同块,这就是 partial
的用途。
Why use partial classes?的可能重复
【参考方案1】:
假设这是一个 Windows 窗体应用程序,问题在于 Visual Studio WinForms 设计器创建了另一个文件(例如 Main.designer.cs
):
public partial class Main : Form
包含设计器生成的代码。
您的部分类源有效地与之合并 - 但它仅在两个源文件都声明该类为 partial
时发生。否则,您只是试图在同一个命名空间中声明两个具有相同名称的类,这是 C# 所禁止的。
【讨论】:
忘了看 Main.designer.cs,你是对的,先生 :)【参考方案2】:还有另一个名为 .designer.cs 的文件。该文件包含类的部分定义,这就是定义 InitializeComponent 函数的地方。您需要为您的课程添加部分修饰符。
【讨论】:
以上是关于Visual C# - 缺少部分修饰符的主要内容,如果未能解决你的问题,请参考以下文章