我試圖訪問一個密封類中的內部方法,但由於它是一個密封類,我無法繼承內部方法。我正在開發的解決方案的後端部分就是這樣設計的。在密封類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) –
問設計師他們爲什麼決定做這個內部。你應該將自己與團隊的其他成員同步 –
你不能從密封的課程中單獨繼承任何內部方法。 –