Questions tagged «c#»

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

10
在.NET Core测试项目中读取appsettings json值
我的Web应用程序需要从appsettings.json文件读取Document DB密钥。我创建了一个具有键名的类,并以如下方式读取Config部分ConfigureaServices(): public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables(); Configuration = builder.Build(); } public IConfigurationRoot Configuration { get; } public void ConfigureServices(IServiceCollection services) { services.AddMvc().AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver()); services.AddSession(); Helpers.GetConfigurationSettings(services, Configuration); DIBuilder.AddDependency(services, Configuration); } 我正在寻找在测试项目中读取键值的方法。

9
在字符串中将枚举存储在MongoDB中
有没有一种方法可以将Enums存储为字符串名称而不是顺序值? 例: 想象一下我有这个枚举: public enum Gender { Female, Male } 现在,如果某个虚构的用户存在 ... Gender gender = Gender.Male; ... 它将以{...“ Gender”:1 ...}的形式存储在MongoDb数据库中 但是我更喜欢这样的东西{...“ Gender”:“ Male” ...} 这可能吗?自定义映射,反射技巧等。 我的情况:我在POCO上使用了强类型的集合(嗯,我标记了AR,并偶尔使用了多态性)。我以工作单元的形式有一个薄的数据访问抽象层。因此,我没有序列化/反序列化每个对象,但是可以(并且确实)定义一些ClassMap。我使用官方的MongoDb驱动程序+ fluent-mongodb。

3
如何在Java中编写可为null的int?
我想将Web表单转换为Java模型。 在C#中,我可以这样写: <input name="id" value="" type="text"/> public class Test { public int? Id{get;set;} } 在id可以为空。 但是在Java中,使用struts2时会引发异常: Method "setId" failed 那么如何用Java编写这种情况呢?
73 c#  java  nullable 

5
如何通过Xml属性重命名类名?
假设我有一个名为Song的可序列化XML的类: [Serializable] class Song { public string Artist; public string SongTitle; } 为了节省空间(并且还模糊处理XML文件),我决定重命名xml元素: [XmlRoot("g")] class Song { [XmlElement("a")] public string Artist; [XmlElement("s")] public string SongTitle; } 这将产生如下的XML输出: <Song> <a>Britney Spears</a> <s>I Did It Again</s> </Song> 我也想重命名/重新映射类/对象的名称。假设在上面的示例中,我希望将Song类重命名为g。这样生成的xml应该如下所示: <g> <a>Britney Spears</a> <s>I Did It Again</s> </g> 是否可以通过xml-attributes重命名类名? 我不想手动创建/遍历DOM,所以我想知道是否可以通过装饰器来实现。 提前致谢! 更新:糟糕!这次我真的又做了一次!忘了提及-我实际上是在XML中序列化Song对象的列表。 这是序列化代码: public …

5
非通用TaskCompletionSource或替代
我正在使用通常以异步方式显示的警报窗口(Telerik WPF)(打开时代码将继续运行),并且我想通过使用async / await使其同步。 我可以使用它,TaskCompletionSource但是该类是通用的,并且返回一个对象,就像Task<bool>我想要的只是一个Task没有返回值的普通对象一样。 public Task<bool> ShowAlert(object message, string windowTitle) { var dialogParameters = new DialogParameters { Content = message }; var tcs = new TaskCompletionSource<bool>(); dialogParameters.Closed += (s, e) => tcs.TrySetResult(true); RadWindow.Alert(dialogParameters); return tcs.Task; } 调用该方法的代码是 await MessageBoxService.ShowAlert("The alert text.") 我该如何返回一个非通用Task,其功能类似于dialogParameters.Closed事件触发之前可以等待的功能?我知道我可以忽略bool此代码中返回的那个。我正在寻找一个不同的解决方案。
73 c#  .net  async-await 

1
事实与理论之间的区别?-xUnit.net
我是xUnit.net和AutoFixture的新手。 我目前正在研究“ testproject”以熟悉xUnit.net和Autofixture。我不了解一件事。 [Fact]和之间有什么区别[Theory, AutoMoqData]? 您能否告诉我以下两个代码是否相等?我之所以这样问,是因为这两项考试都能成功完成,但是我想以正确的方式学习它。 [Fact] public void UpdateVersionWillUpdateCorrectlyInRepository() { var fixture = new Fixture().Customize(new AutoMoqCustomization()); var contract = fixture.Create<VersionContract>(); var version = fixture.Create<Version>(); fixture.Freeze<Mock<IContractMapper>>() .Setup(r => r.Map(contract)).Returns(version); var repMock = fixture.Freeze<Mock<VersionRepository>>(); var sut = fixture.Create<VersionManagementService>(); sut.UpdateVersion(contract); repMock.Verify(r => r.UpdateVersion(version)); } 和 [Theory, AutoMoqData] public void UpdateVersionWillUpdateCorrectlyInRepository( VersionContract contract, …

19
WCF服务客户端:内容类型为text / html;响应消息的charset = utf-8与绑定的内容类型不匹配
我在本地IIS服务器上运行了WCF服务。我已将其添加为对C#网站项目的服务引用,它可以很好地添加并自动生成代理类。 但是,当我尝试调用任何服务合同时,都会出现以下错误: 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。 异常详细信息:System.ServiceModel.ProtocolException:内容类型text / html; 响应消息的charset = utf-8与绑定的内容类型不匹配(application / soap + xml; charset = utf-8)。如果使用自定义编码器,请确保正确实施IsContentTypeSupported方法。响应的前1024个字节为:'函数bredir(d,u,r,v,c){var w,h,wd,hd,bi; var b = false; var p = false; var s = [[ 300,250,false],[250,250,false],[240,400,false],[336,280,false],[180,150,false],[468,60,false],[234,60,false],[88,31, false],[120,90,false],[120,60,false],[120,240,false],[125,125,false],[728,90,false],[160,600,false],[120,600,false] ,, [300,600,false],[300,125,false],[530,300,false],[190,200,false],[470,250,false],[720,300,true],[500,350,true],[550,480,true]]; if(typeof(window.innerHeight)=='数字' 我也有一个控制台应用程序,该应用程序也可以与WCF服务进行通信,并且该控制台应用程序可以很好地调用方法而不会出现此错误。 以下是我的配置文件的摘录。 WCF服务Web.Config: <system.serviceModel> <services> <service name="ScraperService" behaviorConfiguration="ScraperServiceBehavior"> <endpoint address="" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IScraperService" contract="IScraperService" /> <endpoint address="mex" …
73 c#  .net  wcf  web-services 


7
从List <T>到数组T []的转换
是否有将强类型的一小段路List&lt;T&gt;到同类型的数组,例如:List&lt;MyClass&gt;到MyClass[]? 简而言之,我的意思是一个方法调用,或者至少短于: MyClass[] myArray = new MyClass[list.Count]; int i = 0; foreach (MyClass myClass in list) { myArray[i++] = myClass; }
73 c#  .net  arrays  linq  list 


6
Windows 7进度栏在C#中的任务栏中?
如果您在Windows 7 Beta中注意到了,如果您复制文件或其他系统操作,则任务栏中的Windows资源管理器图标将充满绿色的进度条,该进度条等同于表单上的进度条。在我的C#表单中,是否可以强制我的任务栏进度栏与我正在执行的任何任务的进度相匹配?转换,转移,生成,该进度条有很多用途。

6
从后台代码调用命令
因此,我一直在搜索,无法确切地知道如何执行此操作。我正在使用MVVM创建用户控件,并希望在“已加载”事件上运行命令。我意识到这需要一些代码,但是我不太清楚需要什么。该命令位于ViewModel中,该视图被设置为视图的数据上下文,但是我不确定确切如何路由它,因此可以从已加载事件背后的代码中调用它。基本上我想要的是这样的东西... private void UserControl_Loaded(object sender, RoutedEventArgs e) { //Call command from viewmodel } 环顾四周,我似乎在任何地方都找不到此语法。我是否需要先在xaml中绑定该命令才能引用它?我注意到用户控件中的命令绑定选项将不允许您像在按钮之类的内容中那样绑定命令... &lt;UserControl.CommandBindings&gt; &lt;CommandBinding Command="{Binding MyCommand}" /&gt; &lt;!-- Throws compile error --&gt; &lt;/UserControl.CommandBindings&gt; 我敢肯定有一个简单的方法可以做到这一点,但是我无法终生解决。
73 c#  wpf  xaml  data-binding  command 


6
测试中没有预期的异常
我想创建NUnit测试以确保我的函数不会引发异常。有什么具体的方法可以做到吗,或者我应该写 [Test] public void noExceptionTest() { testedFunction(); } 如果没有异常抛出,它将成功吗?

5
基于多个字符分隔符分割字符串
我有一个字符串“ 4,6,8 \ n9,4” 我想根据和\ n进行拆分 输出数组应为 4 6 8 9 4 编辑: 现在我从控制台读取字符串,当我在控制台中输入上面的字符串时,我后面的代码为"4,6,8\\n9,4"。现在我想使用拆分"," and "\\n"。如何更改表达方式?
73 c#  .net  string  split 

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.