草庐IT

private_struct

全部标签

c# - 私有(private)字段的命名约定

首先,我知道这个问题已经被问过好几次了,最后,这主要是个人喜好问题,但是阅读了所有关于这个主题的帖子,有些事情我不太清楚。基本上,大多数人至少同意的一点是公共(public)成员应该是PascalCased,而私有(private)成员应该是lowerCamelCased。通常引起争论的问题是是否在私有(private)成员前加上下划线或其他任何前缀。前缀违反了几个StyleCop规则(虽然很明显可以关闭)不加前缀的理由是你应该使用它。改为前缀。我的问题是我不明白它是如何产生影响的?我的意思是,这并不是说你不能在类里面对公共(public)成员使用它。让我们想象一个Customer类,

c# - 为什么私有(private)成员变量可以被类实例改变?

classTestClass{privatestring_privateString="hello";voidChangeData(){TestClassotherTestClass=newTestClass();otherTestClass._privateString="world";}}此代码在C#中编译,等效代码在PHP中运行,但有人可以解释为什么可以在此处更改otherTestClass._privateString的原因吗?我原以为类的实例在任何情况下都不能更改私有(private)成员变量,并且尝试访问otherTestClass._privateString会给出“由于

c# - 为什么私有(private)成员变量可以被类实例改变?

classTestClass{privatestring_privateString="hello";voidChangeData(){TestClassotherTestClass=newTestClass();otherTestClass._privateString="world";}}此代码在C#中编译,等效代码在PHP中运行,但有人可以解释为什么可以在此处更改otherTestClass._privateString的原因吗?我原以为类的实例在任何情况下都不能更改私有(private)成员变量,并且尝试访问otherTestClass._privateString会给出“由于

c# - 为什么这个字段被声明为私有(private)的并且也是只读的?

在下面的代码中:publicclassMovieRepository:IMovieRepository{privatereadonlyIHtmlDownloader_downloader;publicMovieRepository(IHtmlDownloaderdownloader){_downloader=downloader;}publicMovieFindMovieById(stringid){varidUri=...buildURI...;varhtml=_downloader.DownloadHtml(idUri);return...parseIDHTML...;}publi

c# - 为什么这个字段被声明为私有(private)的并且也是只读的?

在下面的代码中:publicclassMovieRepository:IMovieRepository{privatereadonlyIHtmlDownloader_downloader;publicMovieRepository(IHtmlDownloaderdownloader){_downloader=downloader;}publicMovieFindMovieById(stringid){varidUri=...buildURI...;varhtml=_downloader.DownloadHtml(idUri);return...parseIDHTML...;}publi

c# - 通过反射获取基类的私有(private)属性/方法

使用Type.GetProperties(),您可以检索当前类的所有属性和基类的public属性。是否也可以通过某种方式获取基类的private属性?classBase{privatestringFoo{get;set;}}classSub:Base{privatestringBar{get;set;}}Subs=newSub();PropertyInfo[]pinfos=s.GetType().GetProperties(BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance|BindingFlags.Stat

c# - 通过反射获取基类的私有(private)属性/方法

使用Type.GetProperties(),您可以检索当前类的所有属性和基类的public属性。是否也可以通过某种方式获取基类的private属性?classBase{privatestringFoo{get;set;}}classSub:Base{privatestringBar{get;set;}}Subs=newSub();PropertyInfo[]pinfos=s.GetType().GetProperties(BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance|BindingFlags.Stat

c# - 私有(private)类变量的字段与属性

这个问题在这里已经有了答案:ArethereanyreasonstouseprivatepropertiesinC#?(19个回答)关闭9年前。对于私有(private)类变量,首选哪个?如果你有一个像intlimit这样的属性,你希望它是:intLimit{get;set;}并在类中使用它,像这样:this.Limit是否有理由使用它或不使用它?可能是出于性能原因?我想知道这是否是一个好的做法。

c# - 私有(private)类变量的字段与属性

这个问题在这里已经有了答案:ArethereanyreasonstouseprivatepropertiesinC#?(19个回答)关闭9年前。对于私有(private)类变量,首选哪个?如果你有一个像intlimit这样的属性,你希望它是:intLimit{get;set;}并在类中使用它,像这样:this.Limit是否有理由使用它或不使用它?可能是出于性能原因?我想知道这是否是一个好的做法。

c# - 为什么 C# 编译器在使用 LINQ 方法 Any() 时创建私有(private) DisplayClass,我该如何避免?

我有这段代码(整个代码并不重要,但可以在thislink上看到):internalstaticclassPlayCardActionValidator{publicstaticboolCanPlayCard(...){//...varhasBigger=playerCards.Any(c=>c.Suit==otherPlayerCard.Suit&&c.GetValue()>otherPlayerCard.GetValue());//...}}例如,在反编译器(ILSpy)中打开代码后,我注意到存在新创建的类c__DisplayClass0_0由C#编译器:如果这段代码对系统性能不是很