我有以下(遗留的,继承自前辈)VB.Net(框架2.0)创建系统事件日志异常的类和方法:
Public Interface IMyClass
Function MyMethod(ByVal aValue As String) As Date
End Interface
Public Class MyClass
Implements IMyClass
Public Function MyMethod(ByVal aValue As String) As Date Implements IMyClass.MyMethod
Try
' Calculate return date based on aValue
Catch ex As Exception
Call MyUtilityClass.LogError("MyClass", "MyMethod", ex)
Throw
End Try
End Function
End Class
Partial Public NotInheritable Class MyUtilityClass
Public Shared Sub LogError(ByVal className As String,
ByVal methodName As String,
ByVal ex As Exception)
' Write details to Event Log
End Sub
End …Run Code Online (Sandbox Code Playgroud) 我继承了一个VB.Net代码库,它是VB 2005并升级到VB 2008,包含大约100个项目
我正在尝试重新版本所有组件,但发现一些AssemblyInfo.vb文件有一个AssemblyFileVersion条目,有些有一个AssemblyFileVersionAttribute条目.
此外,有些人有一个AssemblyVersion条目,有些人有一个AssemblyVersionAttribute条目.
有没有Attribute什么区别?
我应该使用哪些?
vb.net versioning assemblyinfo assemblyversionattribute assemblyfileversion
我有2个类,看起来像这样:
class Widget
{
string Selected { get; set; }
List<Option> Options { get; set; }
}
class Option
{
string InternalCode { get; set; }
string ExternalCode { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Options每个客户端使用不同的数据动态填充,以显示ExternalCode为选项
Selected得到填充ExternalCode.
然后我需要访问InternalCode哪些匹配.
目前我这样做:
var option = widget.Options.SingleOrDefault(o => o.ExternalCode == widget.Selected);
var internalCode = option == null ? string.Empty : option.InternalCode;
Run Code Online (Sandbox Code Playgroud)
这是否可以使用Null Coalesce使用单行?
继我之前的问题之后:
AngularJs 和 ASP.NET MVC 5 - ng-model 覆盖文本框值
我现在在选择时遇到同样的问题。
我有一个使用 ASP.NET MVC 5 构建的表单,用于使用@Html.EnumDropDownListFor我的模型填充表单(例如,在表单导航或服务器端验证失败后)。
我现在引入了使用 Angular (1.4.7) 的客户端函数,这意味着 SELECT 现在经过修饰,ng-model以使 Angular 函数能够使用所选值。
例如:
@Html.EnumDropDownListFor(m => m.MyEnum,
new { @class="form-control", ng_model="obj.myEnum" })
Run Code Online (Sandbox Code Playgroud)
ng-model重新加载页面时,添加now 会覆盖 MVC 模型中选定的选项集。
在浏览器中查看源代码表明所选选项已从 MVC 模型中正确设置,但有一个额外的选项被选中:
<select class="form-control ng-pristine ng-valid ng-touched"
name="MyEnum" ng-model="obj.myEnum">
<option value="? undefined:undefined ?"></option>
<option value="0">Please select</option>
<option selected="selected" value="1">Option1</option>
<option value="2">Option2</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我怎样才能防止这种情况,以便Option1保持选中状态?
使用我上一个问题中的指令不起作用,因为 SELECT 没有 value 属性。
也不ng_init适用于 SELECT
我有一个 .Net Core 3 应用程序,正在尝试在我的方法中测试对 ILogger 的调用:
public class MyClass
{
private readonly ILogger<MyClass> _logger;
public MyClass(ILogger<MyClass> logger)
{
_logger = logger;
}
public void MyMethod(string message)
{
_logger.LogError(message);
}
}
Run Code Online (Sandbox Code Playgroud)
在 SO 和博客上找到答案后,我知道我必须针对接口方法进行测试,而不是针对扩展方法进行测试,因此我进行了以下测试:
[TestMethod]
public void MyMethodTest()
{
// Arrange
var logger = Substitute.For<ILogger<MyClass>>();
var myClass = new MyClass(logger);
var message = "a message";
// Act
myClass.MyMethod(message);
// Assert
logger.Received(1).Log(
LogLevel.Error,
Arg.Any<EventId>(),
Arg.Is<object>(o => o.ToString() == message),
null,
Arg.Any<Func<object, Exception, string>>());
}
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,我收到此错误:
Test method MyLibrary.Tests.MyClassTests.MyMethodTest threw exception:
NSubstitute.Exceptions.ReceivedCallsException: …Run Code Online (Sandbox Code Playgroud) 我有2个查询,它们返回表中不同信息的计数:
SELECT Date, COUNT(*) AS Total
FROM Table
WHERE Type = 7 AND Date >= '2010-01-01'
GROUP BY Date
HAVING COUNT(*) > 5000
ORDER BY Date
Run Code Online (Sandbox Code Playgroud)
返回所有"忙"日期的总计:
Date Total
---------- -----------
2010-01-05 9466
2010-02-02 8747
2010-03-02 9010
2010-04-06 7916
2010-05-05 9342
2010-06-02 8723
2010-07-02 7829
2010-08-03 8411
2010-09-02 7687
2010-10-04 7706
2010-11-02 8567
2010-12-02 7645
Run Code Online (Sandbox Code Playgroud)
和
SELECT Date, COUNT(*) AS Failures
FROM Table
WHERE Type = 7 AND ErrorCode = -2 AND Date >= '2010-01-01'
GROUP BY Date
ORDER BY …Run Code Online (Sandbox Code Playgroud) c# ×3
vb.net ×2
.net-core ×1
angularjs ×1
asp.net ×1
asp.net-mvc ×1
assemblyinfo ×1
count ×1
group-by ×1
ilogger ×1
linq ×1
mstest ×1
nsubstitute ×1
shim ×1
sql-server ×1
t-sql ×1
unit-testing ×1
versioning ×1
void ×1