草庐IT

通用的

全部标签

c# - 将通用 Action<T> 委托(delegate)添加到列表

是否可以将通用委托(delegate)操作添加到列表集合中?我需要某种用于Silverlight应用程序的简单消息传递系统。更新以下是我真正“想要”的classSomeClass{publicTData{get;set;}//andmore....}classApp{List>>_actions=newList>>();voidAdd(Action>foo){_actions.Add(foo);}}编译器:Thetypeornamespacename'T'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?

c# - 将通用字典转换为不同类型

有没有一种快速的方法可以将通用字典从一种类型转换为另一种类型我有这个IDictionary_commands;并且需要将它传递给一个接受稍微不同类型的字典的函数publicvoidHandle(IDictionary_commands); 最佳答案 我想我会写Handle(_commands.ToDictionary(p=>p.Key,p=>(object)p.Value));这不是世界上最有效的事情,但在协方差出现之前,这就是休息。 关于c#-将通用字典转换为不同类型,我们在Stack

c# - 没有通用扩展方法的类型推断

我有以下方法:publicstaticTEventInvocatorParametersUntil(thisTEventInvocatorParametersp,FuncbreakCond)whereTEventInvocatorParameters:EventInvocatorParameterswhereTEventArgs:EventArgs{p.BreakCondition=breakCond;returnp;}还有这个类publicclassEventInvocatorParameterswhereT:EventArgs{publicFuncBreakCondition{ge

c# - 重新编译引用的程序集时常量值不变

我在程序集中有这段代码:publicclassClass1{publicconstintx=10;}在一个不同的程序集里我有:classProgram{staticvoidMain(string[]args){Console.WriteLine(Class1.x);Console.ReadKey();}}当然输出是10,但是后来我把x改成了20:publicclassClass1{publicconstintx=20;}我重新编译了程序集并将其移动到我的命令行程序的bin目录中。然而,我的程序的输出仍然是10,直到我编译了包含main函数的程序集。为什么会这样?

C# 通用枚举转换为特定枚举

我有接受"T"类型的通用方法,这是枚举器。在方法内部,我必须调用辅助类方法,方法名称取决于枚举器的类型。publicMeth(Ttype){if(typeof(T)==typeof(FirstEnumType)){FirstEnumTypet=???//IsomehowneedtoconvertTtypetoFirstEnumTypethis.helperFirstCalcBll(t);}else{SecondEnumTypet=???//IsomehowneedtoconvertTtypetoSecondEnumTypethis.helperSecondCalcBll(t);}}

C# 通用接口(interface)和工厂模式

我正在尝试创建一个通用接口(interface),其中一个方法的参数类型由通用定义编辑在意识到我可能通过在Factory创建方法中指定类型参数混淆了问题后,我稍微更改了问题。我所拥有的是我需要对第3方API进行的两种类型的API调用。第一个使用int类型的Id从API检索记录。第二个也从API检索记录,但Id是一个字符串(guid)。我为每种记录类型(ClientEntity和InvoiceEntity)都有一个类,它们都实现了一个通用接口(interface),我在其中传入了Id类型这是我在其中声明一个带有id参数的方法的接口(interface)publicinterfaceIGe

c# - 要求通用方法在 FAIL 时抛出特定的异常类型

好吧,我知道我完全会因为这个而看起来像个白痴,但我的大脑今天早上没有开始运转。我想要一个方法,我可以说“如果它变坏了,返回这种类型的异常”,对吗?例如,类似(这行不通):staticExTypeTestException(stringmessage)whereExType:Exception{Exceptionex1=newException();ExTypeex=newException(message);returnex;}现在让我感到困惑的是,我们知道由于where子句,泛型类型将成为异常类型。但是,代码会失败,因为我们无法将Exception隐式转换为ExType。我们也不能显

c# - 如何获取通用列表中类型的字节大小?

我有这个通用列表,我想获取类型的字节大小,比如T是字符串还是整数等,我尝试了getByteSize()中所写的两种方法,只是想让你知道我只使用一次一种方式......但是当我尝试编译时,它给出了一条错误消息“错误:找不到类型或namespace名称‘typeParameterType’(是否缺少using指令或程序集引用?)”publicclassiList:List{publicintgetByteSize(){//way1TypetypeParameterType=typeof(T);returnsizeof(typeParameterType);//way2TypetypePar

c# - 反射和通用类型

我正在为一个类构造函数编写一些代码,它循环遍历该类的所有属性并调用一个通用静态方法,该方法使用来自外部API的数据填充我的类。所以我把它作为一个示例类:publicclassMyClass{publicstringProperty1{get;set;}publicintProperty2{get;set;}publicboolProperty3{get;set;}publicstaticTDoStuff(stringname){//getthedataforthepropertyfromtheexternalAPI//orifthere'saproblemreturn'default(

c# - 如何获取报告服务实例上可用的报告列表

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我正在尝试在C#中枚举用户在报告服务上的报告。我该怎么做?是否有我应该使用的Web服务调用,或者我应该只获取从http://localhost/ReportServer/lists.asmx返回的html把它拆开?第二个选项听起来有点玄乎。当然有更好的方法吗?