函数由于其在 C# 中的保护级别而无法访问
Function is inaccessible due to its protection level in C#
我正在开发一个 Windows 表单应用程序,其中有一个 TextBox
并且我有一个 textBox1_KeyDown
事件触发一个函数,该函数在另一个 class,即在调用其 OBJECT 后调用,所有设置均为默认设置。但是我收到以下错误...
Error CS0122 'ClassName.FunctionName(object, KeyEventArgs)' is
inaccessible due to its protection level
现在我的主窗体代码如下所示...
namespace NewDEMOApps
{
public partial class MainForm : Form
{
ClassName newObj = new ClassName();
public MainForm()
{
InitializeComponent();
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
newObj.FunctionName(sender, e);
}
}
}
我的 Class 代码如下所示...
namespace NewDEMOAppsClass
{
public class ClassName
{
private void FunctionName(object sender, KeyEventArgs e)
{
if (true)
{
if (e.KeyCode.Equals(Keys.Up))
{
MessageBox.Show(UP Key Pressed);
}
if (e.KeyCode.Equals(Keys.Down))
{
MessageBox.Show(DOWN Key Pressed);
}
if (e.KeyCode.Equals(Keys.Enter))
{
MessageBox.Show(Enter Key Pressed);
}
e.Handled = true;
}
}
}
}
现在我想通过实用而不是 editing/changing Visual Studio 中的 GUI 设置等来解决这个问题。那么,我能做些什么来解决这个问题吗?
更改以下内容:
private void FunctionName(object sender, KeyEventArgs e)
到
public void FunctionName(object sender, KeyEventArgs e)
您通常无法从 class 外部访问 private
方法。 Read here for further information
我正在开发一个 Windows 表单应用程序,其中有一个 TextBox
并且我有一个 textBox1_KeyDown
事件触发一个函数,该函数在另一个 class,即在调用其 OBJECT 后调用,所有设置均为默认设置。但是我收到以下错误...
Error CS0122 'ClassName.FunctionName(object, KeyEventArgs)' is inaccessible due to its protection level
现在我的主窗体代码如下所示...
namespace NewDEMOApps
{
public partial class MainForm : Form
{
ClassName newObj = new ClassName();
public MainForm()
{
InitializeComponent();
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
newObj.FunctionName(sender, e);
}
}
}
我的 Class 代码如下所示...
namespace NewDEMOAppsClass
{
public class ClassName
{
private void FunctionName(object sender, KeyEventArgs e)
{
if (true)
{
if (e.KeyCode.Equals(Keys.Up))
{
MessageBox.Show(UP Key Pressed);
}
if (e.KeyCode.Equals(Keys.Down))
{
MessageBox.Show(DOWN Key Pressed);
}
if (e.KeyCode.Equals(Keys.Enter))
{
MessageBox.Show(Enter Key Pressed);
}
e.Handled = true;
}
}
}
}
现在我想通过实用而不是 editing/changing Visual Studio 中的 GUI 设置等来解决这个问题。那么,我能做些什么来解决这个问题吗?
更改以下内容:
private void FunctionName(object sender, KeyEventArgs e)
到
public void FunctionName(object sender, KeyEventArgs e)
您通常无法从 class 外部访问 private
方法。 Read here for further information