草庐IT

ref1view

全部标签

c# - 为什么可以通过ref参数修改readonly字段?

考虑:classFoo{privatereadonlystring_value;publicFoo(){Bar(ref_value);}privatevoidBar(refstringvalue){value="helloworld";}publicstringValue{get{return_value;}}}//...varfoo=newFoo();Console.WriteLine(foo.Value);//"helloworld"这如何编译,仍然有效?我不应该能够在构造函数之外为_value字段分配不同的值,因为它被标记为readonly。但是,通过ref传递给方法,确实可以操

c# - 当 .NET 反射器显示它已在 .NET Framework 中完成时,为什么我不能将属性或索引器作为 ref 参数传递?

好的,我将从.NET反射器中剪切和粘贴以演示我正在尝试做的事情:publicoverridevoidUpdateUser(MembershipUseruser){//Abunchofirrelevantcode...SecUtility.CheckParameter(refuser.UserName,true,true,true,0x100,"UserName");//Moreirrelevantcode...}这行代码直接来自.NETFramework中的System.Web.Security.SqlMembershipProvider.UpdateUser(System.Web.d

c# - 在 MVC View 中使用 switch case

在MVCView中,我有一个“for”命令,我想在每个值中写入指定的标记。我在这里给你展示一个简单的案例:@for(vari=0;i@(switch(i){case0:???//write"CustomValue1"break;case1:???//write"CustomValue2"break;})}我使用MVC4RazorView。提前感谢您抽出时间。 最佳答案 这很简单,您使用与此相同的代码,它工作正常。@for(vari=0;i@switch(i){case0:CustomValue1break;case1:CustomV

c# - 在 ASP.NET MVC 中返回相同 Controller 的不同 View

我想根据isCustomerEligible的值将用户转到两个不同页面之一。当该变量的值设置为false时,它​​会调用Index,但随后会返回Customer的View,而不是Index的View。publicViewResultIndex(){returnView();}publicViewResultCustomer(){DetermineCustomerCode();DetermineIfCustomerIsEligible();returnisCustomerEligible?View():Index();} 最佳答案 如

c# - 有趣的 "params of ref"功能,有什么解决方法吗?

我想知道对于值类型是否有任何类似的方法......publicstaticclassExtensionMethods{publicstaticvoidSetTo(thisBooleansource,paramsBoolean[]bools){for(inti=0;i那么这将是可能的:Booleana=true,b,c=true,d=true,e;b.SetTo(a,c,d,e);当然,这是行不通的,因为bool是值类型,所以它们作为值而不是引用传递给函数。除了将值类型包装成引用类型(通过创建另一个类)之外,还有什么方法可以在使用params修饰符时通过引用(ref)将变量传递给函数?

c# - 确保 _Layout.cshtml 的 View 模型数据的最优雅方式

在我的应用程序中,我有一些需要在每个页面上显示的基本用户信息(名称、个人资料img)。目前,我只是将_Layout.cshtml页面中的模型设置为一个名为ApplicationBaseModel的类,整个应用程序中的所有其他View模型都必须继承自此类,并且每个Action都必须为基础模型设置适当的数据。我不介意以这种方式进行简单的继承,事实上在每个操作方法中我都必须检索数据并将其存储在View模型中。在我看来,这不是一个非常优雅的解决方案。有人对解决此问题的其他方法有任何想法吗? 最佳答案 我会创建一个BaseController

c# - Razor View 上的 If 语句(对于 CSS 类)

我需要根据是否阅读消息在CSS类之间切换。简单来说应该是这样的:if(item.status=="Unread"){...}else{...}虽然我很难实现这一目标。有什么可以告诉我完成这项工作的好处吗?我应该使用HTML帮助器还是什么?这是到目前为止的完整代码:@foreach(variteminModel){if(item.status=="Unread"){@Html.DisplayFor(modelItem=>item.timestamp)@Html.DisplayFor(modelItem=>item.subject)@Html.DisplayFor(modelItem=>i

c# - 如何在 C# 中通过 ref 传递它?

在我的一个类(ClassA)中,我想创建另一个类(ClassB)的相关实例,为其提供对启动其创建的对象的引用。因此,我为ClassB提供了一个带有(refClassBparent)参数的构造函数。但是在ClassA中,我不能只调用varchild=newClassB(refthis)。如何实现? 最佳答案 ref关键字原因PassbyReference语义-也就是说,如果变量在被调用函数中被重新赋值,它也会在调用者中重新赋值变量.显然,这仅在变量2(可以重新赋值)作为参数直接传递时有效,如果是任意表达式则无效通过。在这种情况下,th

C# ref 关键字用法

我理解(或者至少我相信我理解)通过ref将类的实例传递给方法与不通过ref传递是什么意思。什么时候或在什么情况下应该通过ref传递类实例?对于类实例使用ref关键字是否有最佳实践? 最佳答案 我遇到过的关于输出和引用参数的最清晰的解释是......JonSkeet的。ParameterPassinginC#他没有深入探讨“最佳实践”,但如果您理解他给出的示例,就会知道何时需要使用它们。 关于C#ref关键字用法,我们在StackOverflow上找到一个类似的问题:

c# - 在局部 View 中使用分页,asp.net mvc

如果有人可以就以下内容提出建议,我将不胜感激:在我看来,我显示了项目列表:@modelPagedList.IPagedList@usingPagedList.Mvc;@foreach(variteminModel){//displayingdata}我的寻呼机是这样的:@Html.PagedListPager(Model,page=>Url.Action("Index",new{humanID=ViewBag.HumanID,page=page}),newPagedListRenderOptions{LinkToFirstPageFormat=">",})问题是当我点击下一页时返回空白