目标状态:将VB6代码移植到C#中,使用所有可能的流程进行整个项目.
如果您不了解域名,您的方法是什么?
几乎所有文档,只有遗留代码(高达100.000 - 300.000行代码和注释vb6文件,包含多达14.000行代码)用VB6编写.
我想创建一个Type对象的通用列表.
我有 ...
Type type = typeof(Foo);
object model = GetModel();
Run Code Online (Sandbox Code Playgroud)
现在我要创建一个 new List<Foo>((Foo)model)
这可能在C#中吗?
使用Primitve类型或复杂类型有哪些优缺点?
什么时候应该使用复杂类型的原始类型,反之亦然?
即:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public int IQ { get; set; }
}
public void FooPrimitiveTypes (string firstName, string lastName, int age, int IQ)
{
}
public void FooComplexTypes(Person person)
{
}
Run Code Online (Sandbox Code Playgroud) 可能重复:
.Net Round Bug
在C#中:Math.Round(2.5)结果是2(而不是3)!你在跟我开玩笑吗?
码:
var d1 = Math.Round(187.5); // 188
var d2 = Math.Round(62.5); // 62
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
如果我修改POCO实体的属性,但重置它,EntityFramework仍然表示存在更改.
Property "Name": Value "Test" (original value)
-> Value "Test123" (value changed by UI)
-> Value "Test" (value changed by UI to original value)
Run Code Online (Sandbox Code Playgroud)
已修改的条目:
var objectStateEntries =
_db.ObjectStateManager.GetObjectStateEntries(
EntityState.Added |
EntityState.Deleted |
EntityState.Modified);
Run Code Online (Sandbox Code Playgroud)
你怎么处理这个案子?
c# entity-framework change-tracking objectstatemanager entity-framework-4
验证规则合约:
public interface IValidationRule
{
bool IsValid();
}
Run Code Online (Sandbox Code Playgroud)
具体验证规则:
public class MyClass : IValidationRule
{
public bool IsValid()
{
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
合成的:
public class ValidationRuleComposite : IValidationRule
{
private readonly IEnumerable<IValidationRule> _validationRules;
public ValidationRuleComposite(IEnumerable<IValidationRule> validationRules)
{
_validationRules = validationRules;
}
public bool IsValid()
{
return _validationRules.All(x => x.IsValid());
}
}
Run Code Online (Sandbox Code Playgroud)
当我向容器询问时,IValidationRule我想得到ValidationRuleComposite. 如果我向容器询问IValidationRule我想要获取IValidationRule除ValidationRuleComposite.
我如何使用 Ninject 实现这一目标?
你怎么看?您如何在您的域和演示模型之间进行映射?
必须拥有2个不同的接口.
你会如何重构这个?
我应该重构这个代码吗?
private void CreateInstanceForProviderA()
{
a = FactorySingleton.Instance.CreateInstanceA("A");
if (a == null)
{
ShowProviderNotInstanciatedMessage();
return;
}
a.Owner = Handle.ToInt32();
lbl_Text.Text = a.Version();
}
private void CreateInstanceForProviderB()
{
b = FactorySingleton.Instance.CreateInstanceB("B");
if (b == null)
{
ShowProviderNotInstanciatedMessage();
return;
}
b.Owner = Handle.ToInt32();
lbl_Text.Text = b.Version();
}
Run Code Online (Sandbox Code Playgroud)
如果有一个通用接口,我可以写:
private void CreateInstanceForProvider(string provider)
{
p = FactorySingleton.Instance.CreateInstanceB(provider);
// p is shared over the whole class
if (p == null)
{
ShowProviderNotInstanciatedMessage();
return;
}
var tmpProvider = p as ICommonProvider;
tmpProvider .Owner …Run Code Online (Sandbox Code Playgroud) 当我设置Form的Font时,DataGridView采用相同的字体.
为什么DataGridView采用表单的字体?
c# ×9
.net ×1
ado.net ×1
automapper ×1
complextype ×1
composite ×1
datagridview ×1
dns ×1
domain-model ×1
dynamic ×1
generics ×1
legacy ×1
linq ×1
list ×1
math ×1
ninject ×1
refactoring ×1
rounding ×1
vb6 ×1
winforms ×1