草庐IT

make_new_type

全部标签

c# - PropertyInfo 实例上的 SetValue 错误 "Object does not match target type"c#

在以前的项目中的不同地方使用了带有这段代码的Copy方法(处理具有相同命名属性但不派生自公共(public)基类或实现公共(public)接口(interface)的对象)。新的工作地点,新的代码库-现在即使在非常简单的示例中,它也会在SetValue处失败并显示“对象与目标类型不匹配”......并且它在上周工作......publicstaticvoidCopy(objectfromObj,objecttoObj){TypefromObjectType=fromObj.GetType();TypetoObjectType=toObj.GetType();foreach(System

c# - LINQ to Entities Group By 表达式给出 'Anonymous type projection initializer should be simple name or member access expression'

我在这个表达式中遇到了上述错误:varaggregate=fromtinentities.TraceLinesjoinminentities.MethodNames.Where("it.NameLIKE@searchTerm",newObjectParameter("searchTerm",searchTerm))ont.MethodHashequalsm.MethodHashwhere(t.CallTypeId&(int)types)==t.CallTypeId&&t.UserSessionProcessId==m_SessionIdgrouptbym.Nameintodselect

c# - 检查 System.Type 是否是给定类的后代的最佳方法

考虑以下代码:publicclassA{}publicclassB:A{}publicclassC:B{}classD{publicstaticboolIsDescendantOf(thisSystem.TypethisType,System.TypethatType){///???}voidMain(){AcValue=newC();C.GetType().IsDescendantOf(cValue.GetType());}}实现IsDescendantOf的最佳方法是什么? 最佳答案 Type.IsSubclassOf()判断当

c# - T4代码生成: access types in current project

使用T4代码生成,是否可以访问当前项目中定义的类型?例如,如果我有一个接口(interface)并且我想将它的实现委托(delegate)给另一个类,即interfaceIDoSomething{publicvoiddo_something();}classDoSomethingImpl:IDoSomething{publicvoiddo_something(){//implementation...}}classSomeClass:IDoSomething{IDoSomethingm_doSomething=newDoSomethingImpl();//forwardcallstoi

C# : how to - single instance application that accepts new parameters?

我正在创建一个使用NZB文件下载二进制文件的(C#)程序,我的应用程序在任何时候可能只有一个实例在运行。因此,当用户双击.nzb文件并且我的程序未运行时,它应该启动并处理它(简单,文件注册)。现在,如果我的程序已经在运行,我不想启动第二个实例-我希望已经运行的实例获取指定的文件。可以使用带有.IsSingleInstance技巧的VisualBasicDLL使我的应用程序成为单一实例,但我不想去那里。正确的方法似乎是使用互斥锁来确保我的应用程序是单实例的,但现在我陷入了如何将指定参数(.nzb文件)传递给已经运行的实例的问题。帮助将不胜感激!:-) 最佳答案

c# - 在 C# 中实现安全的鸭子类型(duck typing)

看了之后如何Go处理接口(interface)并喜欢它,我开始考虑如何在C#中实现类似的duck-typing,如下所示:varmallard=newMallard();//doesn'timplementIDuckbuthastherightmethodsIDuckduck=DuckTyper.Adapt(mallard);DuckTyper.Adapt方法将使用System.Reflection.Emit动态构建适配器。也许有人已经写过这样的东西。我想这与模拟框架已经做的并没有太大不同。但是,如果Mallard实际上没有正确的IDuck方法,这将在运行时抛出异常。为了在编译时尽早发

c# - 嵌入式 RavenDB 出现 "Could not find transactional storage type"错误

我能够根据在以下位置找到的代码成功运行RavenDB的简单测试:http://ravendb.net/tutorials/hello-world接下来我尝试以嵌入式方式运行它,但我不断收到以下错误:Message:Couldnotfindtransactionalstoragetype:Raven.Storage.Esent.TransactionalStorage,Raven.Storage.EsentStackTrace:atRaven.Database.Config.InMemoryRavenConfiguration.CreateTransactionalStorage(Act

c# - Windows7 中的 VS 2010 设计器错误 'Could not find type XYZ'。在 XP 中工作正常

我在VS2010C#.NET中遇到了一个问题。我在WindowsXP上有一个项目,其中包括表单、类和一些我自己的自定义组件。这些组件是内置MS组件的简单扩展(例如DataGridViewEx作为DataGridView的扩展)。在XP中一切正常。我正在尝试将此项目移植到Windows7/x64上的VS2010。我有在Windows7上编译正常的解决方案,但是在设计模式下,当我打开包含自定义控件之一的窗体时,出现错误“找不到类型XYZ.DataGridViewEx”。请确保引用了包含此类型的程序集。'XYZ是我用于这些控件的命名空间,它与使用这些控件的窗体是同一个命名空间。所有都是同一个

c# - 当我 "new"时 ObservableCollection 失去绑定(bind)

我的UI上有一个列表框,它绑定(bind)到ObservableCollection的属性。我将ObservableCollection的新实例设置到View模型的构造函数中的属性中,我可以使用表单上的按钮向其添加项目。这些在列表中可见。一切都很好。但是,如果我在按钮回调中使用new重新初始化该属性,它会破坏绑定(bind)并且UI不再显示集合中的内容。我假设绑定(bind)会继续查找属性的值,但它可能链接到一个被新破坏的引用。我做对了吗?任何人都可以扩展这是如何联系起来的吗?当我的View模型不知道View时,有没有办法重新绑定(bind)它? 最佳答案

c# - Entity Framework 错误 "Entity type is not mapped."

我们在项目中使用EntityFramework,我在模型中构建了一个实体。然后我有一个使用存储过程的函数导入。函数导入创建的方法应该返回我创建的自定义实体的集合。TheproblemisthatIgetanerrorwhenIbuildthatsays"Theentitytype'someentity'isnotmapped.这是什么意思?是否因为实体没有底层数据存储而感到沮丧?它不需要一个,函数导入返回此实体的实例,我不需要更新、编辑或插入此类型的实体。函数import工作得很好,并根据需要返回我的实体的集合,但这个错误很烦人。尽管错误列表将其列为编译错误,但它实际上并没有阻止解决方