我试图访问一个密封类中的内部方法,但由于它是一个密封类,我无法继承内部方法。我正在开发的解决方案的后端部分就是这样设计的。在密封类C中访问内部方法#
我发现了一个变通为此,它使用类
public static class LocalizationsManagerExtension
{
public static string AddAppUserBasic(this LocalizationsManager objDotnet, AppUser newUser, string pword)
{
try
{
objDotnet.AddAppUserBasic(newUser, pword);
return "Success!";
}
catch(Exception ex)
{
return ex.Message;
}
//return IdentityResult.Success;
//return System.Threading.Tasks.Task.Run();
//return "Welcome to the World of DotNet....Mr. " + password;
}
}
public ActionResult UserAddNew(UserAddNewModel model)
{
if (ModelState.IsValid)
{
var user = new DataAccess.AppUser();
user.Name = model.username;
user.Password = model.password;
user.DeveloperRole = model.isDeveloperRole;
user.AdministratorRole = model.isAdministratorRole;
user.TranslatorRole = model.isTranslatorRole;
user.IsDomainUser = model.IsDomainUser;
user.ManagerRole = model.isManagerRole;
user.State = Data.Framework.Repository.Helpers.ObjectState.Added;
var result = LM.AddAppUserBasic(user, user.Password);
if (result == "Success!")
{
ViewBag.ReturnUrl = "/Usermanagement/UserLogin";
//return RedirectToAction("UserLogin", "UserManagement");
}
else { }
}
// If we got this far, something failed, redisplay form
return View(model);
}
我试过,但没有运气的延伸。我可以在另一个我调用的方法中调用“AddAppUserBasic”,但它调用本地方法。不是密封课程中的人员。
看看Access-Modifier'internal',也许你错过了关于该修饰符的一些东西。 [这里](https://msdn.microsoft.com/en-us/library/7c5ka91b.aspx) –
问设计师他们为什么决定做这个内部。你应该将自己与团队的其他成员同步 –
你不能从密封的课程中单独继承任何内部方法。 –