c# - 任何人都尝试过实现 C#.Auto-Property 来在 Session 中存储值吗?

标签 c# session attributes automatic-properties

我喜欢在代码中使用 c# Auto-Property,因为我发现它更好用。最近想到我将如何设法使用自动属性,但将值存储在 session 中。仅仅出于几个原因: - 避免 session 项名称中的拼写错误 - 避免额外的代码 - 可能用于扩展到其他商店,如 ViewState 等。

到目前为止,我认为属性是最佳选择。只是好奇在我深入研究并开始实现之前是否有人尝试过。

例如

[Session] 
public int Id{get;set;}

代替

public int Id{ get{return Session["Id"];} set{Session["Id"] = value;}}

最佳答案

不,你不能这样做。

自动实现的属性在所需实现是由字段支持的“微不足道”属性时起作用。这就是编译器所支持的所有内容。您可以“调整”一个自动实现的属性的唯一方法就是以不同方式设置 getter 和 setter 的可访问性。

当然,您现在可以编写代码,在创建时自动从 session 中加载值,并在特定方法调用时将其保存到 session 中 - 但这实际上不是一回事。

关于c# - 任何人都尝试过实现 C#.Auto-Property 来在 Session 中存储值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8078693/

相关文章:

c# - 反射(reflect)一个列表<T>

c# - LINQ 左联接仅与具有列最大值的行

php - 无法使用 PHP 从数据库获取正确的字段

php - 我对 PHP session 的理解是否正确?

c# - Blazor HttpClient 卡在 GetAsync 中

c# - 允许用户远程连接到 mysql 数据库

php - 重定向后 Codeigniter session 销毁

javascript - 为什么 javascript 对象属性描述符不总是默认为 false (根据规范)

Javascript 识别启用的下拉选择类型

c# - 获取通用的自定义属性