草庐IT

c# - 如何将 double 格式化为字符串并仅在必要时显示小数位?

我有这样的代码:lblFranshizShowInvwNoskhehEdit.Text=string.Format("{0:n}",(double)(int.Parse(drDarman["FranshizDarsad"].ToString())*Convert.ToInt64(RadNumerictxtPayInvwNoskhehEdit.Text))/100);但是{0:n0}字符串格式强制标签的文本没有小数位,而{0:n}字符串格式强制标签的文本有2个小数位数字(默认)。在我的场景中,我只需要必要时的小数位/不四舍五入/我该怎么做? 最佳答案

c# - CheckedListBox 控件 - 仅在单击实际复选框时才选中该复选框

我在我正在处理的小型应用程序中使用CheckedListBox控件。这是一个很好的控制,但有一件事困扰着我;我无法设置一个属性,以便它只在我实际选中复选框时才选中该项目。克服这个问题的最佳方法是什么?我一直在考虑获取鼠标点击的位置,相对于复选框的左侧。这部分有效,但如果我点击一个空白区域,离左边足够近,当前选择的项目仍然会被选中。对此有什么想法吗? 最佳答案 我知道这个帖子有点旧,但我认为提供另一种解决方案不是问题:privatevoidcheckedListBox1_MouseClick(objectsender,MouseEve

c# - 自定义身份验证模块仅在存在凭据时调用

我正在实现一些与使用RFC2617扩展的网络服务器对话的代码。为了促进这一点,我实现了一个IAuthenticationManager模块。我的身份验证模块检查收到的质询是否针对MyAuth:publicAuthorizationAuthenticate(Stringchallenge,WebRequestrequest,ICredentialscredentials){if(!challenge.Contains(AuthenticationType))//MyAuth{{returnnull;}}...//Getthetoken,omittedherereturnauthoriza

c# - Obsolete 属性是否仅在编译时检查?

我想知道过时的属性是否只在运行时检查?假设您有两个程序集。程序集A使用程序集B中的方法。之后我们将程序集B中的方法标记为过时,这会在编译程序集A时导致编译时错误。到目前为止没有问题,但问题是旧程序集A是否继续与新程序集B一起工作?谢谢 最佳答案 这取决于你在做什么。[Obsolete]属性主要在编译时使用,但请注意运行时的某些部分在存在时具有不同的行为(见下文)。它可能会导致问题,即使对于未重建的现有代码也是如此,因此我们必须得出结论,NO,[Obsolete]仅在编译时间。例如,下面的代码将写成Foo而不是Bar:usingSys

c# - 仅在构造函数中使用私有(private) setter 是否会使对象线程安全?

我知道我可以像这样创建一个不可变的(即线程安全的)对象:classCantChangeThis{privatereadonlyintvalue;publicCantChangeThis(intvalue){this.value=value;}publicintValue{get{returnthis.value;}}}但是,我通常会“作弊”并这样做:classCantChangeThis{publicCantChangeThis(intvalue){this.Value=value;}publicintValue{get;privateset;}}然后我想知道,“为什么这行得通?”它真

c# - 当类型仅在运行时已知时,如何使用表达式树调用泛型方法?

这是我使用反射解决的问题,但我想看看如何使用表达式树来解决。我有一个通用函数:privatevoidDoSomeThing(paramobject[]args){//Someworkisdonehere.}我需要从我类的其他地方打电话。现在,通常这很简单:DoSomeThing(blah);但前提是我在设计时知道我正在使用int。当我不知道类型直到运行时是我需要帮助的地方。就像我说的,我知道如何通过反射来做到这一点,但我想通过表达式树来做到这一点,因为我(非常有限)的理解是我可以这样做。有什么建议或指向我可以获得这种理解的网站,最好是示例代码? 最佳答案

c# - nunit 测试仅在作为 tfs msbuild 进程的一部分运行时抛出异常

我正在使用TFS2012从VisualStudio2015构建和部署解决方案,没有任何问题。我决定将我的单元测试作为构建过程先决条件的一部分。独立于msbuild进程,单元测试运行没有问题并成功;但是,当我将它们合并为构建过程的一部分时,我在构建中遇到以下异常:ExceptionNUnit.Core.UnsupportedFrameworkException,ExceptionthrownexecutingtestsinD:\Builds\4\PA1111CE\Dev1111dBus\bin\mmmTests.dllNotestisavailableinD:\Builds\4\PA11

c# - 使用 Lambda 表达式调用通用方法(以及仅在运行时已知的类型)

您可以使用LambdaExpressionObjects将lambda表示为表达式。如何创建LambdaExpressionObject表示泛型方法调用,如果您只知道在运行时用于泛型方法签名的类型?例如:我想创建一个LambdaExpressionObjects打电话:publicstaticTSourceLast(thisIEnumerablesource)但我只知道什么TSource在运行时。 最佳答案 staticExpression,T>>CreateLambda(){varsource=Expression.Paramet

c# - 仅在 ListView 中选择一个

我在寻找解决方案以在我的WPF应用程序的ListView中创建单个选择行时遇到问题。我应该怎么做? 最佳答案 SelectionMode="单"? 关于c#-仅在ListView中选择一个,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6220867/

c# - 仅在特定机器上调用 Web 服务时出现 401

我们用C#开发了一个WPF应用程序,并使用RestSharp与一个简单的Web服务进行通信,如下所示:Client=newRestClient(serviceUri.AbsoluteUri);Client.Authenticator=newNtlmAuthenticator(SvcUserName,SvcPassword.GetString());一切都很好,直到我们接到电话说在某些机器上(大多数工作)应用程序无法连接到服务。使用fiddler直接调用服务方法有效。然后我们提取了一个小型.net控制台应用程序并尝试使用RestSharp和直接使用HttpWebRequest进行服务调用