草庐IT

dynamic-class

全部标签

c# - IEnumerable<IMyInterface> 隐式来自 Class[] 但不是来自 Struct[]。为什么?

给定:publicinterfaceIMyInterface{}publicclassMyClass:IMyInterface{publicMyClass(){}}publicstructMyStruct:IMyInterface{privateint_myField;publicMyStruct(intmyField){_myField=myField;}}为什么我可以写:IEnumerablemyClassImps=new[]{newMyClass(),newMyClass(),newMyClass()};但不是:IEnumerablemyStructImps=new[]{newM

c# - Entity Framework : am I supposed to modify migration classes?

我希望我了解基本的工作流程。首先我创建一个模型,然后我生成一个初始迁移,然后我从中生成一个SQL,好的。我更新了模型,我从中创建了一个新的迁移,并从中创建了一个新的SQL,好的。我假设这是一个单向的工作流程是否正确?如果我以错误的方式更改了迁移类,它将永远不会反射(reflect)在我的模型中,并且如果数据库架构不是它应该的样子,EF永远不会注意到,我只会得到奇怪的异常,对吧?如何确保在修改迁移类时不会导致不一致?我假设我只能做两件事:首先,添加EF不关心的新数据库对象,其次,以最终具有相同架构的方式更改EF生成的迁移代码(例如,如果EF生成一个dropcolumn和addcolumn

c# - "dynamic"类型能否在通用集合 <dynamic> 中安全变化?

基于我对thisquestion的回答,我想检查一下我对即将推出的C#4dynamic类型的理解。在这种情况下,我们有一个集合表示从未知数据库表中提取的记录中的字段。较旧的代码(.Net4之前的版本)需要此类集合保存类型为Object的项目。除了这样一个集合的优点,我想知道当您将Object更改为dynamic时会发生什么。一方面,我希望由于动态类型的事情都是在运行时解决的,所以只要程序员没有对特定项目的预期类型进行任何拼写错误或错误,一切都应该很好集合。另一方面,我对上一句中的“所有”这个词感到疑惑。运行时是否可能缓存第一次访问动态属性的结果,导致使用不同类型的后续调用失败?

c# - 我可以在 C# 中使用 "class"类型吗?

我想知道是否有可能做某事。我有一个读取xml文件并根据文件内容向表单添加控件的函数。像这样的xml节点将创建它:Automatic如果我在编辑模式下添加了控件,我有一个功能可以将控件保存回xml文件。它正在工作,但我想知道是否有更简单的方法。目前,我有看起来像这样的代码来创建每个控件的实例:switch(xmlchild.Name){//Createanewcontrolwhosetypeisspecified.case"Button":c=newButton();break;case"Label":c=newLabel();break;default:c=null;break;}但是

c# - 我的类(class)应该订阅自己的公共(public)事件吗?

我正在使用C#3.0。按照我的标准事件模式:publiceventEventHandlerSomeEventHappens;protectedvirtualvoidOnSomeEventHappens(EventArgse){if(SomeEventHappens!=null){SomeEventHappens(this,e);}}privateobject_someProperty;publicobjectSomeProperty{get{return_someProperty;}privateset{if(_someProperty==value){return;}OnSomeEv

c# - Visual C# 2010 速成版 : Specify default access modifier for new classes?

每当我使用VisualStudio2010ExpressC#创建新类时,它都会创建没有访问修饰符的新类。10次中有9次我希望我的新类(class)公开。如何让VisualStudio默认使用“public”修饰符创建空类模板? 最佳答案 诀窍是创建一个名为Class的新项模板。然后,当您执行“添加”>“新建类”时,默认情况下将选择您的模板,而不是内置的类模板。(我不确定这种行为是否得到保证,但它可以在我的机器上运行(TM)。)创建模板:右键单击您的项目并选择“添加”>“类”。您可以接受默认名称(Class1)-这只是一个临时文件。修

c# - .Net 4 : How to reference a dynamic object with property named "return"

我正在从公共(public)api检索json并使用JsonFx将其转换为动态对象。JsonFx.Json.JsonReaderreader=newJsonFx.Json.JsonReader();dynamicresponse=reader.Read(jsonAsString);json包含一个名为return的属性。例如{"result":"success","return":{"high":{"value":"3.85001","value_int":"385001","display":"3.85001\u00a0\u20ac","currency":"EUR"}}JsonFx

c# - C# 3.0 中 "special class"枚举的泛型类型约束是否有解决方法?

这个问题在这里已经有了答案:Anyoneknowagoodworkaroundforthelackofanenumgenericconstraint?(12个答案)关闭9年前。Update:SeethebottomofthisquestionforaC#workaround.你好,考虑以下扩展方法:publicstaticboolHasFlags(thisTvalue,Tflags)whereT:System.Enum{//...}如您所知,这将在编译时抛出错误,因为通常不允许类从System.Enum继承。问题在于使用enum关键字指定的任何枚举实际上都继承自System.Enum,

c# - 如何使用 Dynamic LINQ 使用 GroupBy

我正在尝试使用DynamicLINQ执行GroupBy,但无法使其正常工作。这是一些说明问题的示例代码:ListlistAlbums=newList();for(inti=0;imydata=listAlbums.AsQueryable();intcount=mydata.Count();//varmydataGrouped=mydata.GroupBy(a=>a.Shop);//我意识到我在GroupBy重载中遗漏了“elementSelector”,但我想做的就是最终得到(在这种情况下)两组dtoMyAlbum对象,所以我希望为所有集合选择所有元素。.我该怎么做?

c# - 不能同时指定约束类和 0​​x104567910 或 'class' 约束

我正在尝试解决mockingissue通过创建IDbSet的自定义模拟。自定义模拟:publicclassDbSetMock:IDbSet{/*hiddenallotherimplementedmethods/properties*/publicTDerivedEntityCreate()whereTDerivedEntity:class,Tenant{thrownewNotImplementedException();}}create方法给出了一个构建错误,我不知道如何解决:cannotspecifybothaconstraintclassandthe'class'or'struct