C# 无法访问UITextfield,因为它受保护

C# 无法访问UITextfield,因为它受保护,c#,ios,user-interface,xamarin,xamarin.ios,C#,Ios,User Interface,Xamarin,Xamarin.ios,我不是一个程序员,我肯定不擅长用户界面的东西。目前,我正在帮助构建一个iPhone应用程序,直到我们有更多的人来构建它,但目前我在访问UITextfield时遇到了一个问题 这是一个带有用户名和密码的登录页面。我有三个独立的故事板文件(这是应我正在使用的另一个程序员的请求)。我创建了三个独立的类。我有LoginPage脚本和LoginClass。我已将UITextfields命名为:用户名和密码 有一个api和一个方法,它们都需要用户名和密码(api和方法的字符串)。以下是我所拥有的: publ

我不是一个程序员,我肯定不擅长用户界面的东西。目前,我正在帮助构建一个iPhone应用程序,直到我们有更多的人来构建它,但目前我在访问UITextfield时遇到了一个问题

这是一个带有用户名和密码的登录页面。我有三个独立的故事板文件(这是应我正在使用的另一个程序员的请求)。我创建了三个独立的类。我有LoginPage脚本和LoginClass。我已将UITextfields命名为:用户名和密码

有一个api和一个方法,它们都需要用户名和密码(api和方法的字符串)。以下是我所拥有的:

public partial class LoginClass : ViewController
{
    private static APICore api = new APICore();

    public LoginClass (IntPtr handle) : base (handle)
    {
    }

    public void LoginButtonClicked(UIButton sender)
    {
        LaunchLoginAPIAsync(sender);
    }

    private async void LaunchLoginAPIAsync(UIButton sender)
    {
        string name = Username.Text;
        string pass = Password.Text;

        UserLogin user = await api.Login(name, pass);

        if (user.isInvalidUsername())
        {
            //Create Alert
            var okAlertController = UIAlertController.Create("Error", " Invalid Username. Please try again with a correct username or register using the link below", UIAlertControllerStyle.Alert);
            //Add Action
            okAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));

            // Present Alert
           // PresentViewController(okAlertController, true, null);
        }
        else if (user.isWrongPassword())
        {
            //Create Alert
            var okAlertController = UIAlertController.Create("Error", "Invalid Password", UIAlertControllerStyle.Alert);
            //Add Action
            okAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
            // Present Alert
         //   PresentViewController(okAlertController, true, null);
        }
        else if (user.isLoginSuccessful())
        {
            // Create Alert
            var okAlertController = UIAlertController.Create("Logged in!", "Success", UIAlertControllerStyle.Alert);
            //Add Action
            okAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
      //      PresentViewController(okAlertController, true, null);
        } 
    }
}
我得到的错误是:

“ViewController.Username由于其保护级别而不可访问”(密码也是如此)


如果
ViewController.Username
ViewController.Password
的访问修饰符是私有的或未指定任何内容,则将其设置为
受保护的
公共的
。如果它不能帮助发布您的
ViewController
@Sumitraj,我甚至不知道如何访问ViewController.Username。在情节提要中,我将UITextfield的名称设置为Username。当我在最初的ViewController中使用它时,它工作得很好,但是一旦我创建了与单独的故事板关联的新类,我就会遇到这个错误。我可以发布ViewController,但您想要ViewController.cs文件还是Designer文件?发布
ViewController.cs
文件。你不需要在引用
username
password
的地方发布整个文件。我一定没有做错什么,因为我没有将它们包含在原始文件中,但我可以使用受保护的字符串。。除非它说“字段初始值设定项不能引用非静态字段、方法或属性‘ViewController.Password’”,这是因为
string name=Username.Text;字符串pass=Password.Text。看看这个