草庐IT

function装饰器

全部标签

c# - 如何有效地测试 Action 是否装饰有属性(AuthorizeAttribute)?

我正在使用MVC,在我的OnActionExecuting()中,我需要确定即将执行的Action方法是否装饰有属性AuthorizeAttribute特别是。我不是在询问授权是否成功/失败,而是在询问该方法是否需要授权。对于非mvc人员filterContext.ActionDescriptor.ActionName是我正在寻找的方法名称。但是,它不是当前正在执行的方法;相反,它是一个将很快执行的方法。目前我有一个如下所示的代码块,但我对每个Action之前的循环不太满意。有更好的方法吗?System.Reflection.MethodInfo[]actionMethodInfo=t

c# - 如何告诉 Entity Framework Function Import 存储过程返回的列不可为空?

我有一个类似于此的SQLServer存储过程:CREATEPROCEDURE[jp].[GetFoo]@GuidUNIQUEIDENTIFIERASSELECTCONVERT(BIT,(CASEWHEN[dbo].[GetBar](T.Col2)=3THEN1ELSE0END))IsGetBarCol2EqualToThreeFROM[dbo].[MyTable]TWHERET.Col1=@Guid当我在EF中执行函数导入/获取列信息时,列IsGetBarCol2EqualToThree的推断类型为Nullable.但是这个字段不可能为空,所以我希望它只是bool.有没有一种方法可以在

c# - 在 C# 中生成类似于使用装饰器的代码的最佳方法?

假设我有一个不断重复的模式。像这样的东西:staticclassC{[DllImport("mydll")]privatestaticexternuintMyNativeCall1(Actiona);publicstaticuintMyWrapper1(Actiona){//DosomethingreturnMyNativeCall1(a);}[DllImport("mydll")]privatestaticexternuintMyNativeCall2(Actiona);publicstaticuintMyWrapper2(Actiona){//DosomethingreturnMy

c# - 强制类/方法的属性装饰

继我最近关于Large,ComplexObjectsasaWebServiceResult的问题之后.我一直在思考如何确保所有future的子类都可序列化为XML。现在,显然我可以实现IXmlSerializable接口(interface),然后将读取器/写入器插入其中,但我想避免这种情况,因为这意味着我需要在任何时候想要实例化读取器/写入器,并且99.99%的时间我将使用string所以我可能只写我自己的。但是,为了序列化为XML,我只是用Xml???属性(XmlRoot、XmlElement等),然后将其传递给XmlSerializer和StringWriter以获取字符串。这一

c# - Visual Studio : Make debugger aware that a function doesn't cause "side effects"

我有一个对象,我必须通过监window口多次监视函数输出。问题是我每次执行步骤时都必须按刷新按钮,因为“此表达式会产生副作用,不会被计算”。有什么方法可以用[DoesNotCauseSideEffects]之类的东西标记一个函数,以便watch可以在我每次迈出一步时自动评估它吗?我在VS2008或2010中编写C#。编辑:该函数看起来像这样,并且如您所见,不会引起任何副作用。(x、y、z都是double)publicoverridestringToString(){return"{"+x.ToString(".00")+","+y.ToString(".00")+","+z.ToStr

c# - 懒惰<T> : "The function evaluation requires all threads to run"

我有一个带有一些静态属性的静态类。我在一个静态构造函数中初始化了所有这些,但后来意识到这是浪费,我应该在需要时延迟加载每个属性。所以我转而使用System.Lazytype来完成所有肮脏的工作,并告诉它不要使用它的任何线程安全功能,因为在我的例子中执行总是单线程的。我得到了以下类(class):publicstaticclassQueues{privatestaticreadonlyLazyg_Parser=newLazy(()=>newQueue(Config.ParserQueueName),false);privatestaticreadonlyLazyg_Distributor

c# - 调用堆栈中的 "[Lightweight Function]"

我正在调试一个程序(VS2008),我正在单步执行代码行。我遇到了调用委托(delegate)函数的一行,我试图进入它。但是,该方法并没有像我预期的那样进入方法,而是被绕过了,调试器进入了我认为是委托(delegate)调用的函数。在调用堆栈中,我希望委托(delegate)方法所在的行显示为灰色,文本为[LightweightFunction]。“轻量级功能”部分是什么意思?有没有办法进入这个功能? 最佳答案 我相信轻量级函数是指DynamicMethod,即在运行时发出、使用然后卸载的一个。这篇博文与IronPython相关,但

c# - 装饰器和 IDisposable

我有一个DbContext的子类publicclassMyContext:DbContext{}我有一个围绕MyContext的IUnitOfWork抽象,它实现了IDisposable以确保像MyContext这样的引用是在适当的时候处理掉publicinterfaceIUnitOfWork:IDisposable{}publicclassUnitOfWork:IUnitOfWork{privatereadonlyMyContext_context;publicUnitOfWork(){_context=newMyContext();}~UnitOfWork(){Dispose(fa

c# - Autofac - 注册多个装饰器

鉴于以下情况:publicinterfaceICommandHandler{voidHandle(TCommandcommand);}publicclassMoveCustomerCommand{}publicclassMoveCustomerCommandHandler:ICommandHandler{publicvoidHandle(MoveCustomerCommandcommand){Console.WriteLine("MoveCustomerCommandHandler");}}publicclassTransactionCommandHandlerDecorator:IC

javascript - 什么时候调用 function vs function() in react onClick?

这个问题在这里已经有了答案:WhendoIuseparenthesesandwhendoInot?(5个答案)关闭5年前。我对何时调用React组件内的函数有疑问。有时,当我不将括号添加到函数调用时,我的代码会中断,但并非总是如此。我在这里缺少某种规则吗?不起作用//CallbackofparentcomponentAlink有效//CallbackofparentcomponentAlink//Callbackforfunctionofcomponentotherexample