无法访问c#中其他类的Class?

Bri*_*dhi 0 c# asp.net web-applications class

我有一个类文件JobSeekerBO它有变量

   string _username = string.Empty;
   string _password = string.Empty;
Run Code Online (Sandbox Code Playgroud)

我将值设置如下

public string Username
{
    get { return _username; }
    set { _username = value; }
}

public string Password
{
    get { return _password; }
    set { _password = value; }
}
Run Code Online (Sandbox Code Playgroud)

但问题是我在另一个类文件中访问的变量 class1.cs我创建了该类文件的对象

JobSeekerBO objBO = new JobSeekerBO();
Run Code Online (Sandbox Code Playgroud)

但我不能访问UsernamePasswordclass1.cs类文件从我的JobSeekerBO.cs文件

我也尝试将该变量公之于众

public string _username = string.Empty;
public string _password = string.Empty;
Run Code Online (Sandbox Code Playgroud)

我们可以在file1.aspx.cs文件中访问的同一类文件varible没有公共访问修饰符

所以请告诉我如何访问一个.cs文件的变量和方法到另一个.cs文件.

页码

Shy*_*yju 6

您无法访问_username_password在课外访问,因为默认情况下它们是私有的.这意味着它们只能在课堂上访问.但你有公共属性,其setsgets这些字段的值.所以你应该使用那些公共属性.

JobSeekerBO objBO = new JobSeekerBO();
objBo.Username="someusername";
objBo.Password="myPassword";
Run Code Online (Sandbox Code Playgroud)

假设你的班级看起来像这样

public class JobSeekerBO
{ 
   string _username = string.Empty;
   string _password= string.Empty;      

   public string Username
   {
        get { return _username; }
        set { _username = value; }
   }        
   public string Password
   {
        get { return _password; }
        set { _password = value; }
   }    
}
Run Code Online (Sandbox Code Playgroud)

通常,您应该仅将字段用于具有私有或受保护可访问性的变量.应通过方法,属性和索引器提供类暴露给客户端代码的数据.

更多关于类字段这里在MSDN

编辑:看了你的代码.

您正在尝试将公共属性值设置在错误的位置.你不能在那里做.你应该在一个方法中做到这一点(即使你的构造函数很好).

public class MailRepositary
{
  JobSeekerBO objBO = new JobSeekerBO();
  public MailRepositary()
  {
      objBo.UserName="works from constructor";
  }
  public void SomeMethod()
  {
      objBo.UserName="works from method also";
  }
}
Run Code Online (Sandbox Code Playgroud)