【c#-在url.action中传递带有隐藏参数的url】教程文章相关的互联网学习教程文章

在C#2.0中使用Invoke调用时,参数从null转换为DateTime.MinValue【代码】

我的代码有点像这样public class MyObject {private bool IsValidDay(ref DateTime theDate){...} }MethodInfo[] methods = myObjectInstance.GetType().GetMethod("IsValidDay", BindingFlags.Instance | BindingFlags.NonPublic); object[] args = { null }; bool val = (bool)method.Invoke(myObjectInstance, args);但是当调用该方法时,在IsValidDay方法中,theDate是DateTime.MinValue.这看起来非常奇怪 – 我可能期望抛出Null...

c# – 在不使用ref关键字的情况下替换参数的ref(使用IL)【代码】

我希望能够替换参数的对象引用,而无需使用ref关键字. 我避免使用ref的原因是保留集合初始化程序调用,它寻找Add(T项)方法,我需要让集合类用它的接口的不同实现替换引用. 我尝试了几种不同的方法来做到这一点.首先,我尝试使用未记录的关键字__makeref,__ refvalue和__reftype. 其次,我尝试使用一些IL创建一个DynamicMethod,它试图模仿我从查看带有ref参数的反汇编类似调用中观察到的内容. 以下是一些演示代码:using System; using S...

c# – 枚举器作为参数【代码】

好的,让我们从这个非常简单的按钮点击方法开始吧private void button1_Click(object sender, EventArgs e){int counter = 1;List<int> items = new int[] { 1, 2, 3 }.ToList();List<int>.Enumerator enm = items.GetEnumerator();// 1if (!enm.MoveNext())throw new Exception("Unexpected end of list");if (enm.Current != counter)throw new Exception(String.Format("Expect {0} but actual {1}", counter, enm.Current));cou...

c# – 没有参数名称的ArgumentNullException消息【代码】

我在C#中的部分代码中抛出了ArgumentNullException.我想捕获并显示异常的错误消息.但没有参数名称.我想将参数名称传递给异常构造函数.throw new ArgumentNullException("myParameter", errorMessageStringVariable);如果我调用error.Message我会得到类似的东西 errorMessageStringVariable参数名称:myParameter 我想只显示errorMessageStringVariable.是否可以使用ArgumentNullException,而不在error.Message上进行某种格式化?解...

c# – 当构造函数使用1个参数时发生了什么,但base关键字使用2个参数【代码】

我有一些代码,它将演示Liskov替换,但我很困惑base关键字在2个参数上做了什么.谁能解释一下?class Rectangle {public Rectangle(int width, int height){Width = width;Height = height;}public virtual int Height {get;set;}public virtual int Width {get;set;}public int Area{get { return Height*Width } }现在,对于使用2个参数继承基类的square类.我也很好奇为什么下一个方法广场(int)可以在基类中使用不同名称的方法privat...

c# – 将函数作为参数传递以创建委托【代码】

我正在尝试制作一个辅助功能来制作BackgroundWorkers. 这是我到目前为止所拥有的.using System.ComponentModel; using System;public class BackgroundThread {BackgroundWorker worker;public BackgroundThread(Delegate workerFunction, Delegate workerCallback) {this.worker = new BackgroundWorker();this.worker.DoWork += new DoWorkEventHandler(workerFunction);this.worker.RunWorkerCompleted += new RunWorkerComplet...

c# – Angularjs和WebAPI Put方法参数始终为空【代码】

我有一个突然停止工作的应用程序.我无法确定为什么这是我知道它应该工作.我必须在这里找到一些非常简单的东西.这是代码,Angular代码调用API,API方法调用,但方法的参数始终为null.该呼叫是PUT呼叫.public static void Register(HttpConfiguration config) {// Web API configuration and services// Web API routesconfig.MapHttpAttributeRoutes();config.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller...

c# – Response.Redirect方法的endResponse参数的默认值是什么

我想知道HttpResponse.Redirect方法(String,Boolean)方法的endResponse参数的默认值解决方法:HttpResponse.Redirect的endResponse参数的默认值为true. 调用重定向相当于调用Redirect,第二个参数设置为true. 重定向调用End,在完成时抛出ThreadAbortException异常.此异常对Web应用程序性能有不利影响.因此,建议您使用HttpResponse.Redirect(String,Boolean)重载而不是此重载,并为endResponse参数传递false,然后调用CompleteRequest方...

c# – 类型不能在泛型类型或方法’BaseController’中用作类型参数’T’.没有隐含的参考【代码】

我正在尝试创建一个通用来简化我的代码(它是一个web api项目),但不知何故它最终变得比我预期的更复杂.我想要实现的是这样的: 为了简化我的整个实际代码,这就是我写的:public interface IDatabaseTable { }public class ReceiptIndex: IDatabaseTable { }public interface IBackend<T> where T: IDatabaseTable { }public class Receipts : IBackend<ReceiptIndex> { }public class Generic<T> : SyncTwoWayXI, IBackend<T> where...

c# – 如何使用Reflection创建带有参数的内部构造函数的实例?【代码】

我有一个不同的场景.我需要创建一个公共类的实例,但它的所有构造函数都是内部的.该类没有默认构造函数. 我尝试了以下方法,但它没有用.Activator.CreateInstance(typeof(ClassName)); Activator.CreateInstance(typeof(ClassName), nonpublic:true); Activator.CreateInstance(typeof(ClassName),true); Activator.CreateInstance(typeof(ClassName), new object[]{double,bool});我也试过这个,但最终得到了System.MissingMethodExc...

c# – 使用sender参数而不是直接访问所需控件有什么好处【代码】

有什么情况我宁愿使用控件的事件处理程序的sender参数而不是直接访问所需的控件吗? 而不是private void okButton_Click(object sender, EventArgs e){okButton.Enabled = false;}我应该用private void okButton_Click(object sender, EventArgs e){(sender as Button).Enabled = false;}有什么好处吗?解决方法:正如LarsTech在评论中指出的那样,如果你有多个“点击”由同一个功能处理,使用发送者可以有利于防止重复的代码. 可怕的...

c# – nsubstitute收到调用特定对象参数【代码】

我有一个看起来像这样的类:public myArguments {public List<string> argNames {get; set;} }在我的测试中,我这样做:var expectedArgNames = new List<string>(); expectedArgNames.Add("test");_mockedClass.CheckArgs(Arg.Any<myArguments>()).Returns(1);_realClass.CheckArgs();_mockedClass.Received().CheckArgs(Arg.Is<myArguments>(x => x.argNames.Equals(expectedArgNames));但测试失败并显示以下错误消息:NSubstitut...

如何让C#Cmdlet参数HelpMessage显示在`Get-Help`中【代码】

我已经启动了PowerShell cmdlet,并希望为参数提供帮助消息.我已经尝试过使用ParameterAttribute.HelpMessage:[Cmdlet(VerbsCommon.Get, "Workspace", SupportsShouldProcess = true)] public class GetWorkspace : PSCmdlet {[Parameter(Mandatory = true,Position = 1,HelpMessage = "The path to the root directory of the workspace.")]public string Path { get; set; }protected override void ProcessRecord(){base.Proces...

c# – 如何在IValueConverter中使用targetType参数?【代码】

我有一个IValueConverter,我想用它做一个简单的数学,具有以下转换函数:public object Convert(object value,Type targetType,object parameter,CultureInfo culture ) {if ( parameter == null )return value;switch ( ( ( string )( parameter ) ).ToCharArray( )[ 0 ] ) {case '%':return ( ( double )value % double.Parse(( ( string )( parameter ) ).TrimStart( new char[ ] { '%' } ) ) );case '*':return ( double )value...

c# – Debug.WriteLine()参数表达式评估副作用是否在发布版本中发生?【代码】

根据this问题接受的答案:When the application is compiled in the release configuration, the Debug elements will not be compiled into the code.Debug.WriteLine()(和类似的)的参数表达式评估副作用是否在发布版本中发生?我不确定“调试元素”究竟意味着什么.解决方法:这很容易尝试自己:class Program {static void Main(string[] args) {int i = 0;Debug.WriteLine(i++);Console.WriteLine(i);Console.ReadLine();} }在调...