我打算在VB6代码之后重构这个代码(由其他人编写).
Public Function GetValue(ID As Long) As Boolean
On Error GoTo eh
'' ... DAL Logic...
eh_Exit:
On Error GoTo 0
Exit Function
eh:
Resume eh_Exit
End Function
Run Code Online (Sandbox Code Playgroud)
您认为原作者的意图是eh什么?
可能只是"呃,发生了什么事?"......
我想让它变得可读,而我不必像现在一样思考它......
平台:带有Resharper 4.1,.NET 3.5的Visual Studio 2008 SP1
我有一个静态方法的类,GetProperty<T>它懒惰地返回一个属性值.
private static T GetProperty<T>(T backingField, Func<T> factory)
where T : class
{
if (backingField == null)
backingField = factory();
return backingField;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用上述方法返回属性时,我收到两条警告,指出未分配私有支持字段.但是只有在需要时才会分配它们.

这个警告是否可以忽略?
- 或者 -
我的加载财产是否存在缺陷?
我有一个CheckDuration带有以下函数签名的重载实用程序方法.
private static Action<int> CheckDuration(Action action)
private static Action<int> CheckDuration<T>(Action<T> action, T arg)
Run Code Online (Sandbox Code Playgroud)
基本上CheckDuration在控制台上打印运行方法所需的时间.
现在,我想检查一个带2个参数的方法的持续时间.
所以我必须创建另一个重载CheckDuration以下方法签名.
private static Action<int> CheckDuration<T, U>(
Action<T, U> action, T arg1, U arg2)
Run Code Online (Sandbox Code Playgroud)
有没有办法更优雅地处理这个问题?
我在考虑类似的事情
private static Action<int> CheckDuration<params T>(
Action<params T> action, params T arg)
Run Code Online (Sandbox Code Playgroud)
,这显然不起作用.
[更新]我现在暂时打开这个问题,看看有没有人为这类问题想出办法.
我正在浏览AdventureWorks2008数据库,并希望创建一个将产品与销售人员相关联的新表.
这些表之间存在多对多关系.

现在的问题是,两个架构中,Sales并且Production,不ProductSalesPerson表属于哪一种?
ProductSalesPerson不一定属于任何一个架构.
我应该为此关联表创建新架构吗?
当我看到PostSharp注入(这个表达式是否正确?)一个方面代码到程序集中时,
我看到这个奇怪命名的类标有CompilerGeneratedAttribute.

它被命名<>AspectsImplementationDetails_1.
据我所知,班级名称无法启动<>.
但PostSharp如何创建这样的类呢?
是<>某种未知/内部操作的?
[更新]
我做了一些测试,看起来我能够生成有趣名字的类型.

以下是使用的示例代码
using System;
using System.Reflection;
using System.Reflection.Emit;
namespace ReflectionDemo
{
class Program
{
public static void Main(string[] args)
{
var typeNames = new[]
{
"<>", "-", "+", "~", "!", "@", "#", "$", "%", "^", "&",
"*", "(", ")", "="
};
const string assemblyName = "Test";
foreach (var typeName in typeNames)
{
PrintTypeName(
BuildType(assemblyName, typeName).CreateType());
}
}
private static void …Run Code Online (Sandbox Code Playgroud) 我有许多类型Decimal(8, 2),并一直Substring用于获得小数值.
E.g.)
declare @val decimal(8, 2), @strVal varchar(10)
set @val = 15.80
set @strVal = cast(@val as varchar)
select @val, substring(@strVal, charindex('.', @strVal), len(@strVal))
Run Code Online (Sandbox Code Playgroud)
有没有更好的方式来简单地得到分数值,.80从@val而无需将其转换为一个字符?
我想知道是否有一个内置的UDF(用户定义函数)可以解析而不必推出我自己的版本.
以下是我的反应代码,它显示菜单项,不幸的是我没有得到任何id作为列表中的键添加.作为下文档提到的按键部分,它是应尽量避免Math.random().Math.random()在显示菜单列表时,使用索引作为键是否具有高效性和优势?
代码 -
[{name: 'Home'}, {name: 'About'}, {name: 'News'}, {name: 'Contact'}].map((item, index) => {
return `<li key=${index}>${item.name}</li>`
})
Run Code Online (Sandbox Code Playgroud) .net ×2
c# ×2
sql ×2
sql-server ×2
aop ×1
database ×1
ecmascript-6 ×1
generics ×1
goto ×1
identifier ×1
javascript ×1
label ×1
lazy-loading ×1
overloading ×1
performance ×1
reactjs ×1
refactoring ×1
reflection ×1
resharper ×1
t-sql ×1
warnings ×1