草庐IT

Private_dirty

全部标签

C# 属性 : how to use custom set property without private field?

我想这样做:publicName{get;set{dosomething();???=value}}是否可以使用自动生成的私有(private)字段?还是要求我这样实现:privatestringname;publicstringName{get{returnname;}set{dosomething();name=value}} 最佳答案 一旦您想在getter或setter中执行任何自定义操作,您就不能再使用自动属性。 关于C#属性:howtousecustomsetproperty

C# 属性 : how to use custom set property without private field?

我想这样做:publicName{get;set{dosomething();???=value}}是否可以使用自动生成的私有(private)字段?还是要求我这样实现:privatestringname;publicstringName{get{returnname;}set{dosomething();name=value}} 最佳答案 一旦您想在getter或setter中执行任何自定义操作,您就不能再使用自动属性。 关于C#属性:howtousecustomsetproperty

c# - 为什么甚至可以更改私有(private)成员,或者使用反射在 C# 中运行私有(private)方法?

这个问题在这里已经有了答案:Whycanreflectionaccessprotected/privatememberofclassinC#?(3个答案)关闭9年前。我最近遇到了一个我在使用C#时遇到的问题,通过使用reflection设置私有(private)成员解决了这个问题.我惊讶地发现设置私有(private)成员/字段并运行私有(private)方法是C#中允许和可能的事情。这不是如何做这些事情的问题,它们有据可查,我的问题是:为什么?如果将字段/成员/方法设置为私有(private)/内部,为什么C#作为一种语言允许在范围之外设置这些字段?我认为这会引发某种异常。如果类希望

c# - 为什么甚至可以更改私有(private)成员,或者使用反射在 C# 中运行私有(private)方法?

这个问题在这里已经有了答案:Whycanreflectionaccessprotected/privatememberofclassinC#?(3个答案)关闭9年前。我最近遇到了一个我在使用C#时遇到的问题,通过使用reflection设置私有(private)成员解决了这个问题.我惊讶地发现设置私有(private)成员/字段并运行私有(private)方法是C#中允许和可能的事情。这不是如何做这些事情的问题,它们有据可查,我的问题是:为什么?如果将字段/成员/方法设置为私有(private)/内部,为什么C#作为一种语言允许在范围之外设置这些字段?我认为这会引发某种异常。如果类希望

c# - 有什么理由在 C# 中编写 "private"关键字吗?

据我所知,private是C#中的默认everywhere(这意味着如果我不编写public,protected、internal等。默认为private)。(如有错误请指正。)那么,编写该关键字的原因是什么,或者为什么它甚至对成员(member)存在?例如,当自动生成事件处理程序时,它看起来像这样:privatevoidRatTrap_MouseEnter(objectsender,CheeseEventArgse){}但如果这是隐含的和默认的,为什么它甚至写私有(private)的呢?只是为了让新手开发人员(不知道这是C#默认设置)知道它是私有(private)的吗?还是编译器有区

c# - 有什么理由在 C# 中编写 "private"关键字吗?

据我所知,private是C#中的默认everywhere(这意味着如果我不编写public,protected、internal等。默认为private)。(如有错误请指正。)那么,编写该关键字的原因是什么,或者为什么它甚至对成员(member)存在?例如,当自动生成事件处理程序时,它看起来像这样:privatevoidRatTrap_MouseEnter(objectsender,CheeseEventArgse){}但如果这是隐含的和默认的,为什么它甚至写私有(private)的呢?只是为了让新手开发人员(不知道这是C#默认设置)知道它是私有(private)的吗?还是编译器有区

c# - 使用接口(interface)时如何实现私有(private) setter ?

我已经创建了一个具有一些属性的接口(interface)。如果接口(interface)不存在,则类对象的所有属性都将设置为{get;privateset;}但是,这在使用接口(interface)时是不允许的,那么这是否可以实现,如果可以的话如何实现? 最佳答案 在接口(interface)中你只能为你的属性定义getterinterfaceIFoo{stringName{get;}}但是,在您的类(class)中,您可以将其扩展为拥有一个privatesetter-classFoo:IFoo{publicstringName{g

c# - 使用接口(interface)时如何实现私有(private) setter ?

我已经创建了一个具有一些属性的接口(interface)。如果接口(interface)不存在,则类对象的所有属性都将设置为{get;privateset;}但是,这在使用接口(interface)时是不允许的,那么这是否可以实现,如果可以的话如何实现? 最佳答案 在接口(interface)中你只能为你的属性定义getterinterfaceIFoo{stringName{get;}}但是,在您的类(class)中,您可以将其扩展为拥有一个privatesetter-classFoo:IFoo{publicstringName{g

c# - 计划的 "private protected"C# 访问修饰符是什么意思?

作为Roslyn的一部分GitHub上的文档,有一个名为Languagefeatureimplementationstatus的页面,具有针对C#和VB的计划语言功能。我无法理解的一个特性是privateprotected访问修饰符:privateprotectedstringGetId(){…}还有一个页面C#LanguageDesignNotes,它解释了许多新功能,但不是这个。EricLippert在comment中说:Yourerrorisinthinkingofthemodifiersasincreasingrestrictions.Themodifiersinfactalw

c# - 计划的 "private protected"C# 访问修饰符是什么意思?

作为Roslyn的一部分GitHub上的文档,有一个名为Languagefeatureimplementationstatus的页面,具有针对C#和VB的计划语言功能。我无法理解的一个特性是privateprotected访问修饰符:privateprotectedstringGetId(){…}还有一个页面C#LanguageDesignNotes,它解释了许多新功能,但不是这个。EricLippert在comment中说:Yourerrorisinthinkingofthemodifiersasincreasingrestrictions.Themodifiersinfactalw