草庐IT

dynamic-properties

全部标签

C# 4.0 : casting dynamic to static

这是一个分支问题,与我问的另一个问题有关here.我把它分开是因为它真的是一个子问题:我在转换dynamic类型的对象时遇到困难到另一个(已知的)静态类型。我有一个用于执行此操作的IronPython脚本:importclrclr.AddReference("System")fromSystemimport*defGetBclUri():returnUri("http://google.com")请注意,它只是更新BCLSystem.Uri类型并返回它.所以我知道静态类型返回的对象。现在在C#领域,我正在更新脚本托管内容并调用这个getter来返回Uri对象:dynamicuri=sc

c# - 为什么 'dynamic' ExpandoObject 抛出 RuntimeBinderException,即使它包含属性的定义?

使用以下示例代码:(VS2013,更新3)dynamicdemo=newExpandoObject();demo.Test=10;varj=demo.Test;//throwsexception调试此代码时,在VS中检查“当异常为:‘抛出’时中断”,然后尝试访问现有属性“测试”抛出RuntimeBinderException:System.Dynamic.ExpandoObject'doesnotcontainadefinitionfor'Test'注意:跳到下一行,变量j已正确设置为10。Q1:当Test属性肯定存在且值为10时,事实变量j证明成功设置该值,为什么会抛出异常?当我尝试

C# 使用 Dynamic 关键字通过字符串访问属性而无需反射

我想写类似下面的东西://Iwillpassinanumberof"properties"specifiedasstringsthatIwantmodifiedstring[]properties=new[]{"AllowEdit","AllowDelete"};//CastingthecomponentI'musingtoadynamicobjectofsomesort?dynamicd=myGridComponent;//Iterateoverthestringsandsetthepropertiesforeach(varsinproperties){//d.s=true;////

c# - WCF 反序列化中的 XmlException : "Name cannot begin with ' <'" - in automatic property backing fields

我今天开始在WCF反序列化中遇到错误-代码一直没有改变并且工作了几个月。问题是我正在获取运行时XmlException说“名称不能以‘k_BackingField,这是XmlException的来源。我在网上看到了其他一些引用资料,其中人们接受的解决方案是“我更改了我的代码以不使用自动属性”,这对我来说是不能接受的,因为我需要更改100个对象,(其中有1000个属性)。此外,当我上周运行这段相同的代码时,它运行良好,似乎并没有影响所有序列化的DTO,只有一些。更令人沮丧的是,它似乎有点断断续续。今天早上偶尔会抛出异常...!问题;为什么在未更改的代码和未更改的框架源中突然出现此问题?如

c# - 依赖注入(inject)与大规模 ORM : dynamic trouble

我已经开始处理一个MVC3项目,该项目需要来自现有庞大数据库的数据。我的第一个想法是继续使用EF4.1并创建一堆POCO来表示我需要的表,但我开始认为映射会变得过于复杂,因为我只需要一些一些表格中的列。(感谢Steven在评论中的澄清。所以我想我会给MassiveORM一试。我通常使用工作单元实现,这样我就可以很好地解耦所有内容并可以使用依赖注入(inject)。这是我对Massive的一部分:publicinterfaceISession{DynamicModelCreateTable()whereT:DynamicModel,new();dynamicSingle(stringwh

c# - LINQ to Dynamics CRM 在本地查询过滤记录

我使用CRM2011RC(v5)LINQ-to-CRM提供程序编写了一个LinqtoCRM查询。我有一个本地声明的List,我想将其加入CRM实体,并且我希望在CRM服务器上执行查询。一个示例可能会有所帮助:MyObjectmyObject=newMyObject();ListmyAccountsList=newList();myAccountsList.Add(newmyAccount(){AccountNumber="123"};myAccountsList.Add(newmyAccount(){AccountNumber="456"};myObject.ListOfAccount

C# 验证 : IDataErrorInfo without hard-coded strings of property name?

实现IDataErrorInfo的最佳做法是什么?无论如何都可以在没有属性名称硬编码字符串的情况下实现它? 最佳答案 通用验证例程的基类您可以使用DataAnnotations如果您在IDataErrorInfo实现中做了一些futzing。例如,这是我经常使用的基本View模型(来自Windows窗体,但您可以推断):publicclassViewModelBase:IDataErrorInfo,INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropert

c# - OData 和 WebAPI : Navigation property not present on model

我正在尝试使用EntityFramework、WebAPI、OData和Angular客户端组合一个简单的玩具项目。一切正常,除了我在其中一个模型上放置的导航属性似乎不起作用。当我使用$expand调用我的API时,返回的实体没有它们的导航属性。我的类是Dog和Owner,看起来像这样:publicclassDog{//Properties[Key]publicGuidId{get;set;}publicStringName{get;set;}[Required]publicDogBreedBreed{get;set;}publicintAge{get;set;}publicintWe

c# - 类型为 ‘dynamic’ 的表达式在运行时的行为方式是否应与相同运行类型时间的非动态表达式相同?

考虑以下示例程序:usingSystem;publicdelegatestringMyDelegateType(intinteger);partialclassProgram{staticstringMyMethod(intinteger){returninteger.ToString();}staticvoidMain(){Funcfunc=MyMethod;//Scenario1:worksvarnewDelegate1=newMyDelegateType(func);newDelegate1(47);//Scenario2:doesn’tworkdynamicdyn=func;v

c# - System.Linq.Dynamic - 我可以在 WHERE 语句中使用 IN 子句吗

我有动态linqWHERE语句:dataContext.Table.Where("id=0Orid=1Orid=2Or...");我想更改为:dataContext.Table.Where("idIN(0,1,2,...)");但它不起作用。我怎样才能做到这一点以获得更好的性能? 最佳答案 来自Howtouse“contains”or“like”inadynamiclinqquery?//edit:thisisprobablybroken,seebelowids=newint[]{1,2,3,4};dataContext.Table