草庐IT

通用mapper

全部标签

c# - 从枚举值列表创建可检查上下文菜单的通用方法

我想创建一个上下文菜单,其中一个menuItem将是一个可以在枚举值中进行选择的子菜单。我不想将枚举中的任何值硬编码到xaml中,因为我希望任何枚举值更改都会自动反射(reflect)在UI中,而无需任何干预。我希望我的菜单是一个没有任何伪影的常规上下文菜单(我的意思是外观应该与常规ContextMenu一样)。我尝试了很多方法都没有成功。我的每个试验总是遗漏一些东西,但主要遗漏的部分似乎是一个可以绑定(bind)到某些东西的converterParamter。我是红色的:CreatingacheckablecontextmenufromalistofenumvaluesWPFMult

c# - 为什么在通用序列创建器上使用 Func<> 比使用 new() 约束快得多

考虑以下代码...在我对Windows7x64PC(Inteli73GHz)上的RELEASE(不是调试!)x86构建的测试中,我获得了以下结果:CreateSequence()withnew()took00:00:00.9158071CreateSequence()withcreator()took00:00:00.1383482CreateSequence()withnew()took00:00:00.9198317CreateSequence()withcreator()took00:00:00.1372920CreateSequence()withnew()took00:00:

c# - 空接口(interface) vs 属性,通用约束怎么样?

我有一个类,它使用一个空接口(interface)作为“标记接口(interface)”,像这样:namespaceMyNameSpace{publicinterfaceIMessage{//nothingincommonhere...}publicclassMyMessage:IMessage{publicvoidSendMyMessage(){//Dosomethinghere}}}我在其他一些帖子中以及在MSDN(http://msdn.microsoft.com/en-us/library/ms182128.aspx)上读到,应该避免这种情况,您应该使用自定义属性而不是这个空接

c# - 通用约束和接口(interface)实现/继承

不太确定如何表达这个问题,因为它是“为什么这行不通?”查询类型。我已将我的特定问题简化为以下代码:publicinterfaceIFoo{}publicclassFoo:IFoo{}publicclassBarwhereT:IFoo{publicBar(Tt){}publicBar():this(newFoo())//cannotconvertfrom'Foo'to'T'{}}现在,泛型类型T在Bar类必须实现IFoo。那么为什么编译器会给我注释中的错误呢?Foo的实例肯定是IFoo,因此可以作为通用类型的代表传递T?这是编译器限制还是我遗漏了什么? 最佳答

C# 更新组合框绑定(bind)到通用列表

我的表单上有一个组合框,它绑定(bind)到一个通用的字符串列表,如下所示:privateListmAllianceList=newList();privatevoidFillAllianceList(){//Addalliancenametomemberalliancelistforeach(Villageallianceinalliances){mAllianceList.Add(alliance.AllianceName);}//Bindalliancecomboboxtoalliancelistthis.cboAlliances.DataSource=mAllianceList

c# - Windows 运行时方法不能通用 - 原因、解决方法、替代方案?

这是一个接口(interface),取self对端口MemBus的尝试,一个我维护的事件聚合器,到Windows运行时世界:publicinterfaceISubscriber{IDisposableSubscribe(Actionsubscription);#ifWINRT[Windows.Foundation.Metadata.DefaultOverload]#endifIDisposableSubscribe(objectsubscriber);IObservableObserve();}我得到的是一个编译器错误:"errorWME1031:'MemBus.ISubscriber

c# - 如何在 Windows 通用应用程序中使用自定义字体?

就像我的其他WindowsPhone8项目一样,我想使用自定义字体。但对于新的通用应用程序架构,我很难将其落实到位。我在共享项目中创建了一个“Fonts”文件夹,我将具有BuildAction属性的字体文件添加到“Content”。我还在共享项目中创建了一个“Themes”文件夹,并向其中添加了一个ResourceDictionnary(“Generic.xaml”)。我添加了一个FontFamily资源:/Fonts/RexBold.otf#RexBold我在App.xaml中这样引用它:在我的WindowsPhone项目的MainPage.xaml中,我尝试这样使用它:我确定这是字

c# - 尝试利用通用参数的组合

这很令人困惑,因为我遇到了看似矛盾的错误。我正在使用泛型,约束T至Something,然后约束U至AnOperation.我期望一个对象AnOperation从现在开始考虑类型U.但是,我遇到了错误:Cannotimplicitlyconverttype'ConsoleApp1.AnOperation'to'U'这很奇怪。好吧,我尝试将其显式转换为U,然后出现此错误:Cannotconverttype'ConsoleApp1.AnOperation'to'U'其中还说明了CastisredundantnamespaceConsoleApp1{classProgram{staticvoi

c# - 通用字符串到枚举的转换

假设枚举:publicenumSysLogsAppTypes{None,MonitorService,MonitorTool};这里是一个将ToString()表示转换回enum的函数:privateSysLogsAppTypesStr2SysLogsAppTypes(stringstr){try{SysLogsAppTypesres=(SysLogsAppTypes)Enum.Parse(typeof(SysLogsAppTypes),str);if(!Enum.IsDefined(typeof(SysLogsAppTypes),res))returnSysLogsAppTypes.

c# - PropertyInfo.GetValue() - 如何在 C# 中使用反射索引通用参数?

这个(缩短的)代码..for(inti=0;i..抛出“TargetParameterCountException:参数计数不匹配”异常。'propertyInfo'的基础类型是一些T的集合。'count'是集合中的项目数。我需要遍历集合并对obj执行操作。感谢您的建议。 最佳答案 反射一次只在一个层面上起作用。您正在尝试对属性进行索引,这是错误的。相反,读取属性的值,以及您返回的对象,即您需要索引的对象。这是一个例子:usingSystem;usingSystem.Collections.Generic;usingSystem.R