可能重复:
C# - 何时使用属性而不是函数
我试图了解何时以及为何使用"getters"和"setters"
有人请提供一些指导.
以下结构之间有什么区别 - 请仅查看访问方法.
//EXAMPLE 1: simple accessor method
private static bool _isInitialEditMapPageLoad;
public static bool isInitialEditMapPageLoad
{
get {return _isInitialEditMapPageLoad;}
set {_isInitialEditMapPageLoad = value;}
}
//EXAMPLE 2: accessor method with a conditional test
private static bool _isInitialEditMapPageLoad;
public static bool isInitialEditMapPageLoad
{
get
{
if (currentSession[isAuthorizedUseder] == null)
return false;
else
return _isInitialEditMapPageLoad;
}
set {isInitialEditMapPageLoad = value;}
}
//EXAMPLE 3: just a get accessor method - is this the same as EXAMPLE 4? …Run Code Online (Sandbox Code Playgroud) 我正在运行一个函数,如果它被加载,需要关闭一个Dojo对话框.如何检查dojo对话框是否正在运行?如果未定义,我是否使用纯JavaScript并按ID检查?
if (dijit.byId("blah") !== undefined) {
destroyRecursive dijit;
}
Run Code Online (Sandbox Code Playgroud)
或者我使用对话框对象的属性,如:
isFocusable method
isLoaded property
Run Code Online (Sandbox Code Playgroud) 我有一个名为EditMapUtilities的类.
以下是我想要保留的一些类属性:
public class EditMapUtlities
{
public static Boolean isInitialEditMapPageLoad
{
get { return SessionHandler.isInitialEditMapPageLoad; }
set { SessionHandler.isInitialEditMapPageLoad = value; }
}
// REST OF CLASS NOT GERMAIN TO DISCUSSION AND OMITTED
}
Run Code Online (Sandbox Code Playgroud)
这是我的SessionHandler类遵循此帖子 静态会话类和多个用户的模式:
using System.Web.SessionState;
public static class SessionHandler
{
private static HttpSessionState currentSession
{
get
{
if (HttpContext.Current.Session == null)
throw new Exception("Session is not available in the current context.");
else
return HttpContext.Current.Session;
}
}
//A boolean type session variable
private static string _isInitialEditMapPageLoad = …Run Code Online (Sandbox Code Playgroud)