我喜欢在代码中使用 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/