草庐IT

指定版本

全部标签

c# - 为通用参数指定构造函数约束

这个问题在这里已经有了答案:IsthereagenericconstructorwithparameterconstraintinC#?(8个答案)关闭9年前。我有一组对象,我将其作为参数传递以创建另一种类型的对象(一对一)。我在很多地方都这样做(基本上是从数据对象转换为业务对象)。我想写一个通用的扩展方法来完成这个。但是我被卡住了,因为我不知道如何指定业务对象具有将数据对象作为参数的构造函数的约束。以下是我的函数代码:publicstaticIListConvertTo(thisIEnumerablelist)whereT:new(A)/*THISISPROBLEMPART*/{va

c# - 在 mvc 3.0 及更高版本中实现验证码

我在mvc4.0应用程序和我的引用中使用了验证码:Asp.NetMVCCAPTCHA但它基于mvc2.0实现,它显示图像,但在Controller中我没有任何OnPreAction方法,我将其替换为OnAuctionExcuting,但其中没有MethodInfo。如何更新代码以在mvc3.0或4.0上运行? 最佳答案 只需使用Nuget获取Recaptcha包,然后按照以下步骤操作:http://www.tkglaser.net/2011/10/google-recaptcha-in-aspnet-mvc-3-using.html

c# - 如何指定属于一个类但不属于某个子类的对象?

classA{}classB:A{}voidmethod(AthatisnotaBargument){}voidgeneric_method(generic_classgeneric_argument){}voidparams_method(paramsAthatisnotaB[]params_arguments){}有什么语法上的方法可以做到这一点吗?我意识到我可以做到if(argumentisB)thrownewArgumentException("argumentcannotbeaB","argument");在第一个方法的开头,并在第二个和第三个的foreach中执行此操作,但

c# - 检测操作系统版本 - Windows Phone 7 或 Windows Phone 8?

我有一个适用于WindowsPhone7的应用程序。我在Windows8桌面上创建了visualstudio2012。我正在尝试在WindowsPhone8设备中使用该应用程序,但也涉及一些更改。如何以编程方式检测设备是WindowsPhone7还是WindowsPhone8? 最佳答案 就像您在使用C#的任何其他平台上一样:Environment.OSVersion 关于c#-检测操作系统版本-WindowsPhone7或WindowsPhone8?,我们在StackOverflow上

c# - 登录失败,因为 AudienceUris 中不存在指定的受众

我有一个web应用程序,它会登录请求/发送到我的ADFS服务器。在返回时它被定向到另一个应用程序url;我在IIS服务器中配置的。IE。在ADFS服务器中也配置了相同的url。此错误信息如下ID1038:TheAudienceRestrictionConditionwasnotvalidbecausethespecifiedAudienceisnotpresentinAudienceUris.Audience:这是代码。为什么会这样失败?issuerLocation="https://test12.login.mytest.edu/adfs/ls/";realm="https://do

c# - 有没有一种简单的方法来制作类的不可变版本?

有没有一种简单的方法可以使实例不可变?举个例子,我有一个包含很多数据字段的类(只有数据,没有行为):classMyObject{//lotsoffieldspainfultoinitializeallatonce//sowemakefieldsmutable:publicStringTitle{get;set;}publicStringAuthor{get;set;}//...}创建示例:MyObjectCreationExample(StringsomeParameters){varobj=newMyObject{Title="foo"//lotsoffieldsinitializa

c# - 使用指定地址创建 WCF 服务客户端而不指定配置名称

有没有办法在不指定配置名称的情况下使用指定端点地址在C#中创建WCF服务客户端实例?默认情况下,客户端有这些构造函数:publicServiceClient()publicServiceClient(stringendpointConfigurationName)publicServiceClient(stringendpointConfigurationName,stringremoteAddress)显然,由于第一个构造函数,存在默认配置。我想要的是只指定最终构造函数的第二个参数。现在,我正在努力阅读使用ConfigurationManager的配置元素来弄清楚,但这似乎非常麻烦。

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

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

c# - 无论 .NET 版本/环境如何,都能找到 ildasm.exe 和 ilasm.exe 文件的文件路径的保证方法?

有没有办法以编程方式获取ildasm.exe/ilasm.exe可执行文件的文件信息/路径?我试图在对dll/exe文件进行一些更改后对其进行适当的反编译和重新编译(我猜PostSharp在编译后做了一些类似于更改IL的事情)。我发现一篇博文指向:varpfDir=Environment.GetFolderPath(Environment.SpecialFolders.ProgramFiles));varsdkDir=Path.Combine(pfDir,@"MicrosoftSDKs\Windows\v6.0A\bin");...但是,当我运行这段代码时目录不存在(主要是因为我的SD

c# - 在运行时动态选择要使用的 .dll 版本

我正在为SharePoint开发一个实用程序。它是适用于SharePoint2007和2010的应用程序。当我引用12.0.0.0版本的SharePoint.dll时,该应用程序适用于SharePoint2007,但不适用于2010。如果我引用14.0.0.0版本的dll,那么该应用程序适用于2010年,但不适用于2007年。通过使用以下代码查看文件系统,检查路径中的12(SharePoint2007)或14(SharePoint2010),我可以轻松判断我需要使用哪个.dll。System.IO.File.Exists(Environment.GetFolderPath(Enviro