public void ReachAllInnerClasses() { // # Arrange. var pr = new PseudoRandom(nameof(ReachAllInnerClasses)); var obj = new MyPublicClass(); dynamic sut = new ReachIn(obj); int res; int val; // # Act and Assert. val = pr.Int(); // We don't support finding privates in inherited classes // so here we look for a field overloaded in the child class // just as a sanity check. sut._myInnerPrivateClass._myPrivateField = val; res = sut._myInnerPrivateClass._myPrivateField; res.Should().Be(val); // Keep looking for a visible (e.g. internal) field that comes // from the base class. sut._myInnerPrivateClass._myInternalField = val; res = sut._myInnerPrivateClass._myInternalField; res.Should().Be(val); sut._myInnerInternalClass._myInternalField = val; res = sut._myInnerInternalClass._myInternalField; res.Should().Be(val); sut._myInnerProtectedClass._myInternalField = val; res = sut._myInnerProtectedClass._myInternalField; res.Should().Be(val); sut._myInnerPublicClass._myInternalField = val; res = sut._myInnerPublicClass._myInternalField; res.Should().Be(val); }
static void Main() { // 1. MyPublicClass instanceA = new MyPublicClass(); instanceA.PublicMethod(); //instanceA.InternalMethod(); // Недоступен. //instanceA.InternalProtectedMethod(); // Недоступен. //MyInternalClass instance = new MyInternalClass(); // Недоступен. Console.WriteLine(new string('-', 20)); // 2. MyClass instance = new MyClass(); instance.PublicMethod(); instance.MyMethod(); // Вызов InternalProtectedMethod(). //instance.InternalMethod(); // Недоступен. // Delay. Console.ReadKey(); }
public void GetClass_KnownClass_ReturnClassesType(string className) { var res = new MyPublicClass().GetClass(className); res.Should().NotBeNull(); res.Name.Should().Be(className); }
static void Main(string[] args) { //创建程序集中的类的对象 MyPublicClass obj = new MyPublicClass(); //访问类的基本功能 obj.i = 100; obj.f(); //访问类的扩充功能 obj.j = 200; obj.g(); }
static void Main(string[] args) { MyPublicClass instanceA = new MyPublicClass(); instanceA.PublicMethod(); //instanceA.InternalMethod(); //Недоступен. //instanceA.InternalProtectedMethod(); //Недоступен. //MyInternalClass instance = new MyInternalClass(); библиотеку то мы подключили, но класс MyInternalClass не виден т.к он internal Console.WriteLine(new string('-', 30)); MyClass instanceB = new MyClass(); //MyClass наследуется от MyPublicClass и у него есть InternalProtectedMethod(но его можно использовать в классе MyClass) instanceB.PublicMethod(); instanceB.Method(); //внутри метода Method есть метод InternalProtectedMethod //instanceA.InternalMethod(); //Недоступен. //Delay Console.ReadKey(); }
/// <summary> /// Metoda publiczna zwracająca MyPublicClass /// </summary> /// <returns></returns> public MyPublicClass GiveMePublicClass() { var result = new MyPublicClass(); return(new MyPublicClass()); }
/// <summary> /// 更改用户密码 /// </summary> /// <param name="oldPwd">旧密码</param> /// <param name="newPwd1">新密码1</param> /// <param name="newPwd2">新密码2</param> /// <returns></returns> public ActionResult UpdateUserPwd(string oldPwd, string newPwd1, string newPwd2) { if (Session["UserType"] != null && Session["UserType"].ToString() == "Student")//学生更改密码 { if (Session["UserNum"] != null) { #region 执行学生更改密码操作 if (oldPwd != "" && newPwd1 != "" && newPwd2 != "") //判断从客户端发送的数据是否为空 { if (newPwd1 == newPwd2) //判断2次新密码是否一致 { string sql = "Update StuInfo set StuPwd = @newStuPwd where DelFlag = 0 and StuNum = @StuNum and StuPwd = @oldStuPwd and State = @State"; //更新密码的sql语句 SqlParameter[] param = { new SqlParameter("@newStuPwd", newPwd1), new SqlParameter("@StuNum", Session["UserNum"].ToString()), new SqlParameter("@oldStuPwd", oldPwd), new SqlParameter("@State", "正常") };//参数列表 try { int k = MyPublicClass.UpdateUserPwd(sql, param);//执行数据库更新操作,返回结果是受影响行数,大于0代表成功 if (k == 1) { return(Content("Success")); } else { return(Content("Error2")); } } catch { return(RedirectToAction("../Home/Error404")); } } else { return(Content("Error1"));//表单出错 } } else { return(Content("Error1"));//表单出错 } #endregion } else { return(RedirectToAction("../Home/Login")); } } else if (Session["UserType"] != null && Session["UserType"].ToString() == "Teacher")//教师更改密码 { if (Session["UserNum"] != null) { #region 执行教师更改密码操作 if (oldPwd != "" && newPwd1 != "" && newPwd2 != "") { if (newPwd1 == newPwd2) { string sql = "Update TeacherInfo set TeacherPwd = @newTeacherPwd where DelFlag = 0 and TeacherNum = @TeacherNum and TeacherPwd = @oldTeacherPwd and State = @State"; SqlParameter[] param = { new SqlParameter("@newTeacherPwd", newPwd1), new SqlParameter("@TeacherNum", Session["UserNum"].ToString()), new SqlParameter("@oldTeacherPwd", oldPwd), new SqlParameter("@State", "正常") }; try { int k = MyPublicClass.UpdateUserPwd(sql, param); if (k == 1) { return(Content("Success")); } else { return(Content("Error2")); } } catch (Exception e) { throw e; } } else { return(Content("Error1"));//表单出错 } } else { return(Content("Error1"));//表单出错 } #endregion } else { return(RedirectToAction("../Home/Login")); } } else if (Session["UserType"] != null && Session["UserType"].ToString() == "Admin") { if (Session["UserNum"] != null) { #region 执行管理员更改密码操作 if (oldPwd != "" && newPwd1 != "" && newPwd2 != "") { if (newPwd1 == newPwd2) { string sql = "Update AdminInfo set AdminPwd = @newAdminPwd where DelFlag = 0 and AdminNum = @AdminNum and AdminPwd = @oldAdminPwd and State = @State"; SqlParameter[] param = { new SqlParameter("@newAdminPwd", newPwd1), new SqlParameter("@AdminNum", Session["UserNum"].ToString()), new SqlParameter("@oldAdminPwd", oldPwd), new SqlParameter("@State", "正常") }; try { int k = MyPublicClass.UpdateUserPwd(sql, param); if (k == 1) { return(Content("Success")); } else { return(Content("Error2")); } } catch (Exception e) { throw e; } } else { return(Content("Error1"));//表单出错 } } else { return(Content("Error1"));//表单出错 } #endregion } else { return(RedirectToAction("../Home/Login")); } } else { return(RedirectToAction("../Home/Login")); } }
/// <summary> /// 验证登录 /// </summary> /// <param name="username">用户名</param> /// <param name="password">密码</param> /// <param name="usertype">角色</param> /// <returns></returns> public ActionResult CheckLogin(string username, string password, string usertype) { if (usertype.Trim() == "1")//游客 { return(JavaScript("alert('对不起,本系统暂时不对游客开放,请登录!');return;")); } else if (usertype == "2")//学生 { #region 学生登录检验 //StuInfo stu = new StuInfo(); //stu = stu.CheckLogin(username, password); //string checkLoginResult = s1.CheckLogin(username,password); string sql = "Select * from StuInfo where StuNum = @StuNum and StuPwd = @StuPwd and DelFlag = 0"; SqlParameter[] param = { new SqlParameter("@StuNum", username), new SqlParameter("@StuPwd", password) }; string checkLoginResult = MyPublicClass.CheckLogin(sql, param); if (checkLoginResult == "Success") { //ViewBag.Stu = stu; Session["UserType"] = "Student"; Session["UserNum"] = username; return(Content("Student_Success")); } else if (checkLoginResult == "Error_State")//该用户被禁用,请与管理员联系! { return(Content("Error2")); } else if (checkLoginResult == "Error_UserNotExist")//用户名或者密码错误! { return(Content("Error1")); } else if (checkLoginResult == "Error_Check")//登录验证出错,返回404 { return(Content("Error3")); } else if (checkLoginResult == "ReadyToCheck")//待检验状态 { return(Content("Error4")); } else { return(Content("Error5")); } #endregion } else if (usertype == "3")//教师 { #region 教师登录检验 //验证登录的SQL语句 string sql = "Select * from TeacherInfo where TeacherNum = @TeacherNum and TeacherPwd = @TeacherPwd and DelFlag = 0"; //参数列表 SqlParameter[] param = { new SqlParameter("@TeacherNum", username), new SqlParameter("@TeacherPwd", password) }; //接收登录验证的结果 string checkLoginResult = MyPublicClass.CheckLogin(sql, param); //对结果进行检查 if (checkLoginResult == "Success") { //ViewBag.Stu = stu; Session["UserType"] = "Teacher"; Session["UserNum"] = username; return(Content("Teacher_Success")); } else if (checkLoginResult == "Error_State")//该用户被禁用,请与管理员联系! { return(Content("Error2")); } else if (checkLoginResult == "Error_UserNotExist")//用户名或者密码错误! { return(Content("Error1")); } else if (checkLoginResult == "Error_Check")//登录验证出错,返回404 { return(Content("Error3")); } else if (checkLoginResult == "ReadyToCheck")//待检验状态 { return(Content("Error4")); } else { return(Content("Error5")); } #endregion } else if (usertype == "4")//管理员 { #region 管理员登录检验 //验证登录的SQL语句 string sql = "Select * from AdminInfo where AdminNum = @AdminNum and AdminPwd = @AdminPwd and DelFlag = 0"; //参数列表 SqlParameter[] param = { new SqlParameter("@AdminNum", username), new SqlParameter("@AdminPwd", password) }; //接收登录验证的结果 string checkLoginResult = MyPublicClass.CheckLogin(sql, param); //对结果进行检查 if (checkLoginResult == "Success") { Session["UserType"] = "Admin"; Session["UserNum"] = username; return(Content("Admin_Success")); } else if (checkLoginResult == "Error_State")//该用户被禁用,请与管理员联系! { return(Content("Error2")); } else if (checkLoginResult == "Error_UserNotExist")//用户名或者密码错误! { return(Content("Error1")); } else if (checkLoginResult == "Error_Check")//登录验证出错,返回404 { return(Content("Error3")); } else if (checkLoginResult == "ReadyToCheck")//待检验状态 { return(Content("Error4")); } else { return(Content("Error5")); } #endregion } else { return(View()); } }