草庐IT

floating-action-button

全部标签

c# - 如何在 Action 过滤器中获取当前模型

我有一个通用Action过滤器,我想在OnActionExecuting方法中获取当前模型。我当前的实现如下所示:publicclassCommandFilter:IActionFilterwhereT:class,new(){publicvoidOnActionExecuting(ActionExecutingContextactionContext){varmodel=(T)actionContext.ActionArguments["model"];}}如果我的所有型号名称都相同,效果会很好。但我想使用不同的型号名称。如何解决这个问题?编辑publicclassHomeContr

c# - 从 int 转换为 float 的问题

有一个我无法理解的奇怪行为。同意float是近似值,因此即使显然返回没有小数的数字的操作也可以近似为带小数的数字。我这样做:intnum=(int)(195.95F*100);因为这是一个浮点运算,所以我得到19594而不是19595..但这是正确的。让我困惑的是,如果我这样做floatflo=195.95F*100;intnum=(int)flo;我得到了19595的正确结果。知道为什么会这样吗? 最佳答案 我想看看这是不是编译器在做数学运算,但即使你强制它,它的行为也是这样的:staticvoidMain(){inti=(int

c# - Action 作为函数中的可选参数

这个问题在这里已经有了答案:OptionaldelegatesinC#[duplicate](4个答案)关闭9年前。是否可以将Action作为函数中的可选参数?button2Action应该是可选的。publicvoidDrawWindow(Rectp_PositionAndSize,stringp_Button2Text="NotInUse",Actionp_Button2Action){//Stuffhappenshere}我用例如p_Button2Action=delegate{Debug.Log("NotInUse");试过了}但它不会编译,因为p_Button2Action的

c# - 为任何方法创建 Func 或 Action(在 C# 中使用反射)

我的应用程序根据设置动态加载dll来自数据库(文件、类和方法名称)。为了促进、加快和减少反射的使用,我想要一个缓存....遵循使用的想法:MethodInfo.Invoke没有任何表现形式(ReflectionPerformance-CreateDelegate(PropertiesC#))我想翻译对方法的任何调用。我想到了一些可以像这样工作的东西:publicstaticTCreate(Typetype,stringmethodName)//orpublicstaticTCreate(MethodInfoinfo)//touselikethis:varaction=Create>(t

c# - Action 过滤器 Action 参数

我有一个ActionFilterAttribute,我想通过它接受参数,但我不知道如何传递它们。所以我的Action过滤器看起来像这样;publicclassPreventAction:ActionFilterAttribute{publicoverridevoidOnActionExecuting(ActionExecutingContextfilterContext){filterContext.Result=newRedirectResult("Home/Index");}}然后我这样装饰我的Action;[PreventAction]publicActionResultIdea

C# float.Parse 字符串

我是C#新手,需要从文件中读取float值(x,y,z)。看起来像:0-0.01-0.0020.000833333333333-0.01-0.002如果我正在尝试floatnumber=float.Parse("0,54");//itworkswell,butfloatnumber=float.Parse("0.54");//gainsexepction.我从每一行读取值的代码(可能有问题):intbegin=0;intend=0;for(inti=0;i有人可以帮忙吗? 最佳答案 float.Parse(string)method

c# - 在 Controller MVC 中自动生成 Action

我正在尝试更有效地使用VS,并且一直在寻找一种自动生成方法的方法。例如,我知道如果您键入foreach然后按TAB两次它会生成框架代码,所以如果我有这样的方法:[HttpPost]publicActionResultCloseTicket(){//dostuff}有没有一种生成“骨架代码”的方法,这样我就不必手动输入它了。我调查了methodstubs但它们似乎不适用于此。 最佳答案 VisualStudio中有内置的代码片段可以帮助解决这个问题:mvcaction4插入:publicActionResultAction(){ret

c# - 为什么在将字符串转换为 float 时会出现 FormatException?

当我尝试将字符串转换为float时:Console.WriteLine(float.Parse("6.59"));它抛出一个异常:UnhandledException:System.FormatException:Inputstringwasnotinacorrectformat.atSystem.Number.ParseSingle(Stringvalue,NumberStylesoptions,NumberFormatInfonumfmt)当我这样尝试时:Console.WriteLine(Convert.ToSingle("6.59"));它抛出相同的异常:UnhandledEx

c# - 为什么 Func<...> 和 Action 不统一?

我发现自己一直想传递一个有返回值且没有输入的Func来代替Action,例如FuncDoSomething=...;Task.Run(DoSomething);在哪里,我真的不关心DoSomething的返回值。但是,这些类型并不统一,我最终结束了调用Task.Run(()=>{DoSomething();});有没有办法在不包装的情况下使这些类型统一?另外,它们不统一是否有好的设计原因? 最佳答案 您希望以下陈述为真:IfIhaveaFunc,IshouldbeabletouseitwhereanActionisrequired.

c# - 委托(delegate)操作 : new Action or casting Action?

我发现了两种不同的方法来使用Action初始化Delegate:创建一个新的Action或转换为Action。Delegatefoo=newAction(()=>DoNothing(param));Delegatebar=(Action)(()=>DoNothing(param));这两种语法有区别吗?哪个更好,为什么?此示例中使用了委托(delegate),因为语法对于使用lambda表达式调用BeginInvoke或Invoke等方法很有用,并且将lambda表达式转换为操作很重要staticmain{Invoke((Action)(()=>DoNothing()));//OKIn