Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

13
找不到Request.GetOwinContext
我一直在寻找一个小时,试图弄清楚为什么它不起作用。 我有一个带有WebAPI的ASP.Net MVC 5应用程序。我正在尝试获取Request.GetOwinContext()。Authentication,但是我似乎找不到如何包含GetOwinContext。这是我的代码: using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web; using System.Web.Mvc; using System.Web.Security; using TaskPro.Models; namespace TaskPro.Controllers.api { public class AccountController : ApiController { [HttpPost] [AllowAnonymous] public ReturnStatus Login(LoginViewModel model) { if (ModelState.IsValid) { var ctx = Request.GetOwinContext(); // <-- Can't find this …
101 c#  asp.net-web-api  owin 

7
从WSDL文件在Visual Studio中创建Web服务代理
我的应用程序需要与没有在线WSDL定义的Web服务进行对话。但是,开发人员向我提供了WSDL文件。 使用公共WSDL,Visual Studio可以使用“服务参考”向导为我生成此代码。但是,如果没有公共的WSDL,它似乎无法工作。 如何使用此WSDL文件生成用于与此Web服务对话的代码?

15
在.NET中使用Microsoft.Office.Interop.Excel需要什么参考?
我对使用C#操纵/自动化Excel文件感兴趣。 浏览完网络后,我发现了VSTO,但看来您不能在Visual Studio Express Edition中使用它,所以我不能使用它。 几分钟前,我注意到该站点中的一个问题在其代码中使用了该命名空间: Microsoft.Office.Interop.Excel 所以我想知道是否我需要使用的只是添加必要的参考,如果需要添加哪个参考? 更新 我按照建议的答案安装了“主互操作程序集”,但由于某些原因,它们仍然在“ .NET”下的“添加引用”对话框中丢失,但它们存在于GAC中。 因此,我只是使用“浏览”添加了引用,该引用位于Microsoft.Office.Interop.Excel.dllGAC文件夹中。 但是在此站点上寻找有关添加GAC参考的类似问题,似乎不建议这样做。

10
没有注册IUserTokenProvider
我最近将Asp.Net Identity Core申请表1.0 更新为2.0。 有一些我想尝试的新功能,例如GenerateEmailConfirmationToken等等。 我正在使用这个项目作为参考。 当用户尝试注册时,执行Register的Post方法时会出错 private readonly UserManager<ApplicationUser> _userManager; public ActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { var ifUserEXists = _userManager.FindByName(model.EmailId); if (ifUserEXists == null) return View(model); var confirmationToken = _userRepository.CreateConfirmationToken();//this is how i'm generating token currently. var result = _userRepository.CreateUser(model,confirmationToken); var user = _userManager.FindByName(model.EmailId); if (result) { …

1
使用ReSharper将方法提取到已经存在的界面
我正在向实现接口的类中添加新方法,并且我喜欢使用“提取接口”重构,只需将方法添加到接口中即可。但是ReSharper似乎不支持向现有接口添加方法签名。 感觉好像我缺少什么,我敢肯定它可以通过某种方式完成。也许我应该先将方法签名添加到接口中,但这有时就是我的工作方式。我是否缺少某些快捷方式,功能或使用ReSharper错误?

7
在C#中使用IDisposable和析构函数有什么区别?
什么时候在类而不是析构函数上实现IDispose?我读了这篇文章,但是我仍然没有抓住重点。 我的假设是,如果我在对象上实现IDispose,则可以显式地“销毁”该对象,而不是等待垃圾回收器执行此操作。这样对吗? 这是否意味着我应该始终在对象上显式调用Dispose?常见的例子有哪些?
101 c#  .net  dispose  destructor 

11
如何使用.NET创建7-Zip存档?
如何从C#控制台应用程序创建7-Zip存档?我需要能够使用常规的,广泛可用的7-Zip程序提取档案。 这是我的结果,并提供了示例作为对此问题的解答 “掏空”到7z.exe-这是最简单,最有效的方法,我可以确认它的效果很好。正如workmad3所述,我只需要保证在所有目标计算机上都安装了7z.exe,这是我可以保证的。 7压缩内存压缩 -这是指在发送到客户端之前“在内存中”压缩cookie;这种方法似乎有些前途。包装器方法(包装LZMA SDK)返回类型byte[]。将byte[]数组写入文件时,无法使用7-Zip(File.7z is not supported archive)提取数组。 7zSharp包装器(位于CodePlex上)-包装7z exe / LZMA SDK。我从我的应用程序中引用了该项目,该项目成功创建了一些存档文件,但是我无法使用常规的7压缩程序(File.7z is not supported archive)提取文件。 7Zip SDK或LZMA SDK-我想我还不够聪明,无法弄清楚如何使用它(这就是我在此处发布的原因)...演示创建7zip存档的工作代码示例,常规的7zip程序? 用于7-Zip存档DLL的CodeProject C#(.NET)接口 -仅支持从7zip存档中提取...我需要创建它们! SharpZipLib-根据他们的常见问题解答,SharpZipLib不支持7zip。
101 c#  .net  compression  7zip 

4
“如果打算隐藏则使用新关键字”警告
屏幕底部有一个警告: 警告1'WindowsFormsApplication2.EventControlDataSet.Events'隐藏继承的成员'System.ComponentModel.MarshalByValueComponent.Events'。如果要隐藏,请使用new关键字。C:\ Users \ myComputer \ Desktop \ Event Control \ WindowsFormsApplication2 \ EventControlDataSet.Designer.cs 112 32 eventControl 如果我双击它,它会显示: public EventsDataTable Events { get { return this.tableEvents; } 谁能告诉我如何摆脱这种情况?
101 c#  winforms 

4
Java等效于带有#的C#逐字字符串
快速提问。是否有等效于@的Java字符串: 例如,我可以@"c:\afolder\afile"使用C#进行处理,并使其在处理时忽略转义字符,而不必这样做"c:\\afolder\\aFile"。是否有Java等效项? 嗯:stackoverflow正在向我逃脱..大声笑。第二个示例应为: c :(双反斜杠)文件夹(双反斜杠)aFile
101 c#  java  string  literals 


1
使用语句并等待关键字在C#中发挥很好
我遇到一种情况,我正在async调用返回和IDisposable实例的方法。例如: HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")); 现在async,在现场之前,使用IDisposable实例时,使用“ response”变量的此调用和代码将包装在using语句中。 我的问题是,当async关键字混入时,这是否仍然是正确的方法?即使代码可以编译,在下面的两个示例中,using语句仍可以按预期工作吗? 例子1 using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"))) { // Do something with the response return true; } 例子2 using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"))) { await this.responseLogger.LogResponseAsync(response); return true; }

4
测试类是否具有属性?
我正在尝试进行一些“测试优先”的开发,并试图验证我的类是否标记有属性: [SubControllerActionToViewDataAttribute] public class ScheduleController : Controller 如何对类分配了该属性的单元测试?

4
如何使用WinForms进度栏?
我想显示在外部库中执行的计算进度。 例如,如果我有一些计算方法,并且想在Form类中将其用于100000个值,我可以编写: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Caluculate(int i) { double pow = Math.Pow(i, i); } private void button1_Click(object sender, EventArgs e) { progressBar1.Maximum = 100000; progressBar1.Step = 1; for(int j = 0; j < 100000; j++) { Caluculate(j); progressBar1.PerformStep(); } …

7
使用命令行参数从C#执行PowerShell脚本
我需要从C#中执行PowerShell脚本。该脚本需要命令行参数。 到目前为止,这是我所做的: RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration); runspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace); Pipeline pipeline = runspace.CreatePipeline(); pipeline.Commands.Add(scriptFile); // Execute PowerShell script results = pipeline.Invoke(); scriptFile包含类似“ C:\ Program Files \ MyProgram \ Whatever.ps1”的内容。 该脚本使用命令行参数,例如“ -key Value”,而Value可以是类似路径的内容,也可能包含空格。 我没有这个工作。有谁知道如何从C#中将命令行参数传递给PowerShell脚本并确保空格没有问题?

5
为什么没有setter的属性未序列化
我有一个可序列化的类,并且该类中的一个属性在Guidgetter中生成一个。该属性没有实现设置程序,在序列化过程中将被忽略。这是为什么,我总是必须实现一个setter才能序列化我的属性。 [Serializable] public class Example { [XmlAttribute("id")] public string Id { get { return Guid.NewGuid().ToString(); } } } 我尝试实现一个空的setter,它已正确序列化。 [Serializable] public class Example { [XmlAttribute("id")] public string Id { get { return Guid.NewGuid().ToString(); } set {} } } 更新: 您能否指出我该如何定义其值永远不变或内部生成值的属性?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.