【asp.net(c#)网页跳转七种方法小结】教程文章相关的互联网学习教程文章

在C#中应为通用接口基本类型时,如何传递方法参数?【代码】

假设我有一个定义如下的接口:interface IContract {void CommonMethod(); }然后是从该接口继承的另一个接口,该接口的定义方式如下:interface IContract<T> : IContract where T : EventArgs {event EventHandler<T> CommonEvent; }我的具体问题是,给定实现IContract的任何实例,如何确定IContract< T>如果是,则如何确定IContract< T>的通用类型是什么?无需对每个已知类型的IContract T进行硬编码.我可能会遇到. 最终,我将使用此确...

C#-NSubstitute与PRISM EventAggregator:断言调用方法会触发具有正确有效负载的事件【代码】

考虑以下更新人员并通过PRISM EventAggregator发布事件以表明该人员已更新的方法. 我想对消息以正确的有效负载发送进行单元测试.在这种情况下,这意味着正确的personId.public void UpdatePerson(int personId) {// Do whatever it takes to update the person// ...// Publish a message indicating that the person has been updated_eventAggregator.GetEvent<PersonUpdatedEvent>().Publish(new PersonUpdatedEventArgs{Info = ...

首页> C#>如何返回一个JsonResult或一个ActionResult在相同的方法取决于输入?【代码】

我遇到需要返回JSONResult或Redirect的情况.可能吗? 例:public ActionResult Example(string code) {if(string.IsNullorEmpty(code))return RedirectToAction("Index", "Home");elsereturn Json(new { success = true, message= "Next step"}); }解决方法:是的,有可能.实际上,您发布的代码正是您的操作方式! Controller.RedirectToAction返回RedirectToRouteResult,Controller.Json返回JsonResult.它们都继承自ActionResult,因此...

Thread.Yield是确定多线程应用程序C#中是否存在错误的标准方法吗?

我开始阅读http://www.albahari.com/threading/处发布的信息 作者指出:Sleep(0) or Yield is occasionally useful in production code for advanced performance tweaks. It’s also an excellent diagnostic tool for helping to uncover thread safety issues: if inserting Thread.Yield() anywhere in your code makes or breaks the program, you almost certainly have a bug.根据MSDN on Thread.Yield(),Thread.Yield()的定...

c#-在“代理”中记录每种方法【代码】

我有一位代表:private delegate void ActivitySteps(string inputFolder, string outputFolder);在我课堂上的一种方法中,我向它注册了各种活动:this.activitySteps = A; this.activitySteps += B;等等… 最后,我调用它:this.activitySteps.Invoke(inputFolder, outputFolder);现在我想添加日志记录,以便我知道调用委托时哪个事件即方法失败. (A或B或其他).有没有一种方法可以使我不必登录每种方法,并且可以将日志集中在委托中.解...

c#-MediaCapture.StartPreviewToCustomSinkAsync方法如何工作?【代码】

为什么Windows文档如此缺乏?似乎无法找到该方法应如何工作的示例StartPreviewToCustomSinkAsync 我想做的是从视频源(通过MediaCapture)获取预览图像,但无法理解此方法的工作原理(特别是第二个参数IMediaExtension应该是/要做的). 你们有什么机会可以帮助我吗?解决方法:如果您所需要的只是时不时地获得预览框架,尽管它们针对Windows 10,但在Microsoft github页面上还是有一个相关的示例.您可能有兴趣迁移项目以获取此功能. GetPre...

C#-Http POST方法有时会转到test.com而不是localhost【代码】

我遇到一个非常奇怪的行为.我正在做一个简单的ASP .NET应用程序,它将文件上传到服务器.我有一个简单的表格可以做到这一点:<form class="form-horizontal" method="post" enctype="multipart/form-data"><div class="form-group"><label for="files" class="col-md-3 col-sm-4 control-label">Bestand *</label><div class="col-md-9 col-sm-8" "><input name="file" type="file" id="file" required /><span >@ViewBag.TheMessage...

c#-返回Task的方法的不同实现【代码】

这是我重构一些旧代码时遇到的. 考虑接口上返回Task的方法:public interface IFoo {Task Bar(); }Bar方法的实现可以通过两种方式实现: 返回任务:public class Foo1 : IFoo {public Task Bar(){return Task.Run(() =>{/* some work */});} }或使用异步…等待:public class Foo2 : IFoo {public async Task Bar(){await Task.Run(() =>{/* some work */});} }这些实现在功能上是否等效,还是存在(可能细微)差异?解决方法:由于使用...

C#将函数附加到属性设置器的最短方法(最少的文本量)是什么?【代码】

我有一个类,每次更改属性时都需要调用刷新函数.所以我发现自己写了很多这样的文章:private double _x; public double X{get { return _x; }set{_x = value;refresh();}}每个属性的刷新功能始终相同.有没有更短的方法可以做到这一点? 另外,我总是通过双精度X访问私有双精度_x,所以像公共双精度X一样.如果可以以某种方式集成refresh()方法,则set}可以正常工作.解决方法:纯粹的C#方法是将重复代码移动到方法上. 您的情况是这样的:v...

c#-传递get / set属性作为参数而不进行反射的最佳方法【代码】

有时,在处理数据传输对象(例如从数据库或csv文件中检索到的对象)时,最好编写一些辅助函数来移动数据. 例如:class MyDto {public string Name { get; set; } }class MyBusinessObject {public string Name { get; set;} }我想写一些类似的东西:MyDto source; MyBusinessObject target;var hasChanged = target.Set(source, source => source.Name, target => target.Name); // lamdba expressions, or whatever it takes to make ...

c#-从枚举存储和读取其他信息的有效方法是什么【代码】

我试图存储和检索枚举中的其他信息.我最终有两种方法.第一种方法是使用自定义属性.https://stackoverflow.com/a/22054994/5078531https://stackoverflow.com/a/35040378/5078531public class DayAttribute : Attribute {public string Name { get; private set; }public DayAttribute(string name){this.Name = name;} }enum Days {[Day("Saturday")]Sat,[Day("Sunday")]Sun }public static TAttribute GetAttribute<TAttribute>(t...

c#-等待MoveTo操作完成的正确方法是什么?【代码】

我使用CocosSharp创建了一个本质上是糖果迷恋的应用程序,这是我第一次真正使用的东西,与C#和Xamarin相同.为了执行动画,我使用了提供的MoveTo方法,但是我不确定在继续执行代码之前应该如何等待动画完成.目前,我正在使用await Task.Delay()结合while循环来完成此操作,但是这种“感觉”并看起来“肮脏”.我想知道等待动画完成的正确方法是什么? 这是我编写的一些代码:// Checks to see if a swap is possible, if it is then it wi...

c#-Moq的存根工作单元方法未返回预期的整数【代码】

我有一个使用Asp.Net Core创建的项目,但是我对控制器动作的一部分进行单元测试时遇到问题,我使用xUnit.net(2.2.0-beta2-build3300)进行测试,使用Moq(4.6.25-alpha)进行模拟,并使用FluentAssertions(4.13.0)和GenFu(1.1.1)来帮助我进行测试,工作单元类(请注意,我将其缩减为与我的问题相关的内容):public class UnitOfWork : IUnitOfWork {private readonly WebForDbContext _context;public UnitOfWork(WebForDbContext context){_...

c#-查找方法中使用了哪些using指令【代码】

我怎么知道在给定SyntaxNode的后代中使用了哪些using指令. 请参见以下示例:https://dotnetfiddle.net/mCzNST在这里,我想知道在Class1中使用了哪些用法,但是忽略了在Class2中使用的用法.解决方法:您可以使用语义模型获得与语法节点相关的类型.类型信息知道相关的名称空间,您可以使用该名称空间来标识相关的用途.遍历所有节点时,您会收到方法的返回值以及变量,属性和字段的类型.如果将节点限制为特定类型(例如InvocationExpressionS...

c#-在n层应用程序中引用的正确方法【代码】

我对n层体系结构有点陌生,可以通过实现一个简单的控制台应用程序来学习它. 我有3个项目: 具有域实体和DbContext类的DAL.具有存储库类的BLL.控制台应用程序仅用于运行它. 正如我在DAL中定义的所有实体一样,BLL层引用了DAL,如下所示:public class DefaultRepository {private DefaultDbContext _repository;private void SaveChanges(){try{_repository.SaveChanges();}catch (Exception e){Console.WriteLine("Exception were cau...