草庐IT

c# - 使用带有额外参数的 Unity Resolve 创建对象

我正在使用Prism,它也提供了很好的UnityIoC容器。我是这个概念的新手,所以我还没有完全掌握它。我现在想做的是使用IoC容器创建一个对象,但也传递一个额外的参数。请允许我用一个例子来解释......:我有一个接受命令对象的类。这是在IoC容器中注册的,因此它会很好地处理它:publicclassPerson{publicPerson(IApplicationCommandscommands){..}..}Personperson=_container.Resolve();现在-我想传递另一个参数-例如这个人的名字。但是,我仍然想使用IoC容器来处理解析,从而从IoC容器中获取其

c# - C#中的深拷贝

MSDN给出了这个深拷贝的例子(http://msdn.microsoft.com/en-us/library/system.object.memberwiseclone.aspx)publicclassPerson{publicintAge;publicstringName;publicIdInfoIdInfo;publicPersonShallowCopy(){return(Person)this.MemberwiseClone();}publicPersonDeepCopy(){Personother=(Person)this.MemberwiseClone();other.Id

c# - 在 C# 中使用泛型时装箱

我有以下简单的C#代码:privateStackm_stack=newStack();publicvoidAdd(Tobj)whereT:Person{m_stack.Push(obj);}这将产生以下IL代码:.methodpublichidebysiginstancevoidAdd(!!Tobj)cilmanaged{//Codesize20(0x14).maxstack8IL_0000:nopIL_0001:ldarg.0IL_0002:ldfldclass[System]System.Collections.Generic.Stack`1ConsoleApplication1.

c# - LINQ 查询中的 "=>"标志是什么?

令人吃惊的是,这方面的信息如此之少。我找到了大量解释LINQ的教程,但它们没有解释这个特定的运算符:varResults=UserFavoritesContext.UserFavorites.Select(color=>color.FavoriteColor);“x=>x.y”有人可以解释一下这是如何工作的吗?我掌握了一般语法并能够使用它进行查询,但这就像在不知道自己在做什么的情况下做某事。 最佳答案 假设您有一个people列表,并且您想要遍历他们。你会写这样的东西:foreach(varpersoninpeople){//dos

c# - 复制 Entity Framework 对象

我有一个EF4.1类X,我想复制它及其所有子记录。X.Y和X.Y.Z现在,如果我执行以下操作,它会返回错误。属性'X.ID'是对象关键信息的一部分,不能修改。publicvoidCopyX(longID){varc=db.Xs.Include("Y").Include("W").Include("Y.Z").SingleOrDefault(x=>x.ID==ID);if(c!=null){c.ID=0;c.Title="CopyOf"+c.Title;for(varm=0;m(c).State=System.Data.EntityState.Added;db.SaveChanges()

c# - 我需要在 OnModelCreating(DbModelBuilder modelBuilder) 函数中添加什么来定义 Person 和 Role 之间的关系?

我在WinForms项目.net4.5中使用EntityFramework5.0版。我已经为我创建了2个重要的实体publicclassRole{[Key][DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]publicintId{get;set;}publicstringName{get;set;}publicboolStockPermission{get;set;}publicboolItemPermission{get;set;}publicboolOrderPermission{get;set;}publi

c# - 一行中的多个对象

我有一行来自数据库select"John"Name,"Male"Gender,20Age,"Rex"PetName,"Male"PetGender,5PetAge//...manymore...使用Dapper,我想将这一行拉入两个对象:classPerson{publicstringName{get;set;}publicstringGender{get;set;}publicintAge{get;set;}//...manymore...}classPet{publicstringPetName{get;set;}publicstringPetGender{get;set;}pub

c# - 创建一个 Action<T> 到 "set"属性,当我为 "get"提供 LINQ 表达式时

我希望能够生成编译表达式来设置属性,给定为属性提供“get”方法的lambda表达式。这是我正在寻找的:publicActionCreateSetter(Expression>getter){//returnsacompiledactionusingthedetailsofthegetterexpressiontree,ornull//ifthewritepropertyisnotdefined.}我仍在努力理解各种类型的Expression类,因此,如果您能为我指明正确的方向,那就太好了。 最佳答案 以@Ani的回答为起点,您可以

c# - 是否可以防止 Entity Framework 4 覆盖自定义属性?

我首先使用EF4数据库+POCO。因为EF没有简单的方法来声明传入的DateTimes是UTC类型,所以我将该属性从自动生成的文件移动到另一个文件中的分部类。privateDateTime_createdOn;publicvirtualSystem.DateTimeCreatedOn{get{return_createdOn;}set{_createdOn=(value.Kind==DateTimeKind.Unspecified)?_createdOn=DateTime.SpecifyKind(value,DateTimeKind.Utc):value;}}但是,现在每次我更新模型时

c# - 面向对象编程 : Separation of Data and Behavior

最近我们讨论了类中的数据和行为分离。通过将域模型及其行为放入单独的类中来实现数据和行为分离的概念。但是,我不相信这种方法的假定好处。尽管它可能是由某个“伟人”创造的(我认为是MartinFowler,尽管我不确定)。我在这里举一个简单的例子。假设我有一个包含Person及其方法(行为)数据的Person类。classPerson{stringName;DateTimeBirthDate;//constructorPerson(stringName,DateTimeBirthDate){this.Name=Name;this.BirthDate=BirthDate;}intGetAge(