草庐IT

hal-get-property

全部标签

c# - 为什么 Property 执行比 Field 或 Method 执行慢?

在CLRviaCSharp第10章“属性”JeffRichter写道:Apropertymethodcantakealongtimetoexecute;fieldaccessalwayscompletesimmediately.Acommonreasontousepropertiesistoperformthreadsynchroni-zation,whichcanstopthethreadforever,andtherefore,apropertyshouldnotbeusedifthreadsynchronizationisrequired.Inthatsituation,ameth

c# - C# : How to get the response stream? 中的套接字

我正在尝试替换它:voidProcessRequest(objectlistenerContext){varcontext=(HttpListenerContext)listenerContext;UriURL=newUri(context.Request.RawUrl);HttpWebRequest.DefaultWebProxy=null;HttpWebRequesthttpWebRequest=(HttpWebRequest)WebRequest.Create(URL);httpWebRequest.Method=context.Request.HttpMethod;httpWe

c# - 检查 Querystring/Post/Get 请求中重复键的最佳方法是什么

我正在编写一个小型API,需要检查请求中的重复键。有人可以推荐检查重复键的最佳方法。我知道我可以检查key.Value中字符串中的逗号,但是我遇到了另一个问题,即API请求中不允许使用逗号。//Doesnotcompile-justforillustrationprivatevoidconvertQueryStringToDictionary(HttpContextcontext){queryDict=newDictionary();foreach(stringkeyincontext.Request.QueryString.Keys){if(key.Count()>0)//Error

C#6 : nameof() current property in getter/setter

有没有办法在getter/setter中获取当前属性的名称?像这样:publicstringMyProperty{get{returnbase.Get(nameof(ThisProperty));}set{base.Set(nameof(ThisProperty),value);}}nameof(ThisProperty)应该解析为“MyProperty”。 最佳答案 nameof无法做到这一点,但有更好的方法(自C#5起可用)。您可以使propertyName参数可选,并将CallerMemberName属性应用于它:protec

c# - 如何从控制台应用程序中访问 Properties 命名空间?

我正在尝试存储/检索存储在应用程序设置中的值。在我的控制台应用程序中,我似乎无法访问Properties.Setting命名空间。我的网上冲浪表明,在控制台应用程序中执行此操作可能需要做更多的工作。如何做到这一点?stringtest=Properties.Settings.Default.MyString;谢谢! 最佳答案 默认情况下,控制台应用程序中没有设置文件。但是,您只需在解决方案资源管理器中右键单击您的项目,选择“属性”,然后在出现的窗口中单击“设置”选项卡,即可添加一个。应该有一个链接,上面写着“单击此处创建默认设置文件

c# - 系统.Runtime.Serialization.InvalidDataContractException : No set method for property

如错误所示,我的属性没有setter,但我不想要setter,它应该是只读的。 最佳答案 已编辑:使二传手成为内部。这仍然可以在程序集中设置,但这是一个很好的技巧,当用于位于其他人使用的程序集中的数据对象时效果很好,因为那些使用程序集的人将无法设置该属性,但是各种序列化程序都可以。 关于c#-系统.Runtime.Serialization.InvalidDataContractException:Nosetmethodforproperty,我们在StackOverflow上找到一个类

c# property setter body 没有声明类级属性变量

我是否需要声明一个类级变量来保存一个属性,或者我可以只在getter/setter中引用self.{propertyname}?换句话说,我可以这样做吗?(我没有在任何地方定义mongoFormId):publicstringmongoFormId{get{returnthis.mongoFormId;}set{this.mongoFormId=value;revalidateTransformation();}} 最佳答案 您可以使用自动访问器或实现您自己的访问器。如果您使用自动访问器,C#编译器将为您生成一个支持字段,但如果您实

c# - 获取在 lambda 中定义的属性 o => o.Property1 的值

我需要获取在lambda中定义的属性的值publicstaticMvcHtmlStringMyHelper(thisHtmlHelperhtml,Expression>prop){varvalue=\\getthevalueofProp1(notthename"Prop1")...}预期用途是这样的:publicclassFooViewModel{publicstringProp1{get;set;}}%>o.Prop1)%> 最佳答案 这里为什么要表达?如果你只想拥有属性值,Func就足够了-它就像任何其他委托(delegate)

c# - 属性 Get v 方法的性能

我有一个包含方法集合的类,我想知道使用方法而不是属性是否有任何性能提升?一些方法相当复杂,但基本上返回一个IEnumerable对象集合,而其他方法则是简单的返回值。Where(x=>x.property=="comparison")Linq查询。示例方法:publicIEnumerableActivePens()=>Pens.Where(x=>x.Status=="Active");属性:publicIEnumerableActivePens=>Pens.Where(x=>x.Status=="Active");将它们标记为属性或方法会更好吗? 最佳答案

c# - Asp.Net Web Api - 为 IEnumerable<T> 返回 404 Get When null

我正在使用Asp.NetWebApi的发布版本创建API。如果未找到结果,我将尝试传回正确的响应代码(404)。首先获取版本(抛出多个枚举错误):publicIEnumerableGet(intid,stringformat){vardb=newDbEntities();varresult=db.pr_ApiSelectMyObjectType(store,id,format).AsEnumerable();if(result.Any()){returnresult;}varresponse=newHttpResponseMessage(HttpStatusCode.NotFound)