草庐IT

setPrimitive-setter

全部标签

c# - 来自不同接口(interface)的 getter 和 setter

我真的需要这样的东西:interfaceIReadableVar{objectValue{get;}}interfaceIWritableVar{objectValue{set;}}interfaceIReadableWritableVar:IReadableVar,IWritableVar{}但是,当我尝试使用IReadableWritableVar.Value时,我会遇到编译错误,除非我显式转换为基本接口(interface),如下所示:staticvoidMain(){IReadableWritableVarvar=null;vart=var.Value;//为什么我会收到这些错

c# - 具有私有(private) setter 的属性与仅获取属性

C#6.0引入了定义get-only属性的功能:publicICommandAddCommand{get;}现在,当像下面这样定义另一个属性时,ReSharper建议Auto-propertycanbemadeget-only:privateListScreenshots{get;set;}此外,ReSharper在定义私有(private)getter时什么也没说:publicICommandAddCommand{get;privateset;}公共(public)只读属性(例如第一个AddCommand)、私有(private)只读属性(例如Screenshots属性)和公共(pu

c# - 是否可以仅在属性的 getter 或 setter 上使用 Obsolete 属性

是否可以仅在属性的getter或setter上使用Obsolete属性?我希望能够做这样的事情:publicintId{get{return_id;}[Obsolete("Goingforward,thispropertyisreadonly",true)]set{_id=value;}}但显然不会构建。是否有解决方法可以让我将此属性仅应用于setter? 最佳答案 我认为这是不可能的,因为出于某种原因,它已被明确禁止用于Obsolete属性。根据围绕属性目标定义的规则,Obsolete属性似乎没有任何理由在属性get或set访问器

c# - 在 setter 中获取属性名称

我想在ASP.Net应用程序的回发之间保留一个属性。目前正在这样做:publicintMyIndex{get{return(int)Session[ToString()+"MyIndex"];}}但更喜欢这样的东西:publicintMyIndex{get{return(int)Session[ToString()+#code_that_returns_property_name#];}}省略了Setter,但它只是使用相同的字符串将值推送到Session中。有什么方法可以使用反射,或者其他更好的解决方案吗? 最佳答案 public

c# - 属性的内部 setter 可以序列化吗?

有什么方法可以在C#中使用内部setter序列化属性吗?我知道这可能会有问题-但如果有办法-我想知道。示例:[Serializable]publicclassPerson{publicintID{get;internalset;}publicstringName{get;set;}publicintAge{get;set;}}序列化Person类实例的代码:Personperson=newPerson();person.Age=27;person.Name="Patrik";person.ID=1;XmlSerializerserializer=newXmlSerializer(typ

C#:接口(interface)继承getters/setters

我有一组与特定可变对象紧密结合使用的接口(interface)。对象的许多用户只需要能够从对象中读取值,然后只需要几个属性。为了避免命名空间污染(更容易的智能感知)并理解使用意图,我想要一个小的基本接口(interface),它只以只读方式公开一些“关键”属性。但是,几乎所有实现都将支持完整的接口(interface),包括可修改性。不幸的是,我在用C#表达该概念时遇到了障碍:interfaceIBasicProps{publicintPriority{get;}publicstringName{get;}//...whatever}interfaceIBasicPropsWritea

c# - 如何只查找同时具有 getter 和 setter 的属性?

C#、.NET3.5我正在尝试获取一个对象的所有属性,这些属性同时具有实例的getter和setter。我认为应该工作的代码是PropertyInfo[]infos=source.GetType().GetProperties(BindingFlags.Instance|BindingFlags.Public|BindingFlags.SetProperty|BindingFlags.GetProperty);但是,结果包含一个没有setter的属性。为了让您对我的继承结构有一个简单的了解,可能会对此产生影响(尽管我不知道如何影响):publicinterfaceIModel{stri

c# - 在 C# 中是否可以使用同名的公共(public) getter 和私有(private) setter?

如何为属性创建公共(public)getter和私有(private)setter?以下是正确的吗?publicStringPassword{set{this._password=value;}}privateStringPassword{get{returnthis._password;}} 最佳答案 是的,即使使用自动属性也是可能的。我经常使用:publicintMyProperty{get;privateset;} 关于c#-在C#中是否可以使用同名的公共(public)gette

c# - 属性的 getter 和 setter 的 Lambda

在C#6.0中我可以写:publicintProp=>777;但是我想用getter和setter。有没有办法做下一步的事情?publicintProp{get=>propVar;set=>propVar=value;} 最佳答案 首先,这不是lambda,尽管语法相似。它被称为“expression-bodiedmembers”。它们类似于lambda,但仍存在根本区别。显然它们不能像lambda那样捕获局部变量。此外,与lambda不同的是,它们可以通过名称访问:)如果您尝试将表达式主体属性作为委托(delegate)传递,您可

c# - 在 C# 中寻找 getters/setters 的简短示例

我无法理解C#语言中getter和setter的概念。在像Objective-C这样的语言中,它们似乎是系统不可或缺的一部分,但在C#中却并非如此(据我所知)。我已经阅读过书籍和文章,所以我的问题是,对于那些了解C#中的getter和setter的人,如果您向一个完全的初学者教授这个概念,您个人会使用什么示例(这将包括尽可能少的尽可能多的代码行)? 最佳答案 我认为一些代码将有助于说明什么是setter和getter:publicclassFoo{privatestringbar;publicstringGetBar(){retur