【c# – 重构公共代码的最佳方法】教程文章相关的互联网学习教程文章

C#自动计算字符串公式的四种方法【代码】【图】

一,第一种也是功能最强大的一种,可以使用Eval函数,像在Java中一样强大,几乎所有的运算符都可以实现,包括四则运算,与或非等。 添加COM引用 private void button2_Click(object sender, EventArgs e) { MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControlClass(); sc.Language = "JavaScript"; MessageBox.Show(sc.Eval("((2*3)-5+(3*4))+6/2").ToString()...

如何遍历目录并仅使用C#通过Web方法返回文件夹名称?【代码】

这个问题已经在这里有了答案: > how to list all sub directories in a directory 5个我正在尝试使用C#读取目录并返回该目录中的所有文件夹名称.我不希望返回任何嵌套的文件夹或文件,而只返回目录中的直接文件夹. 我将使用这些名称在应用程序中构建侧面导航.用户将具有创建新文件夹的能力,因此我希望随着时间的推移创建新文件夹时可以动态构建导航.到目前为止,我已经尝...

C#/.NET动态调用方法的最高效方式【代码】

我们正在开发一个系统,该系统将从tcp / ip流中读取命令,然后执行这些命令.命令由对对象的方法调用组成,该对象也由命令中的id标识.您可以将命令视为元素ID(寻址我们要在其上调用命令的元素)和命令ID(寻址应在元素上调用的方法)的信息.另外,还有一个问题,我们需要检查每个命令的某种权限以及如何执行此命令. (是否应在新线程中启动,等等.) 这样的命令调用的示例如下所示:class Callee {public void RegularCall(int command, parame...

C#-找到用数字签入的方法【代码】

您能帮我解决我的问题吗?我使用的是SQL Server数据库,它是一个体操程序,我想在他来健身房时向客户端进行检查,我有两种方式提供服务,第一种是每月一次,第二种是每天,首先,我没有问题,并使用此代码进行签入;using (SqlCommand com = new SqlCommand("select count(*)from enddate where ID=@ID and startdate <=@C1 and endDate >=@C2", con)){com.Parameters.AddWithValue("@ID", ID.Text);com.Parameters.AddWithValue("@C1", Da...

c#-我们可以使用LINQ扩展方法SequenceEqual使用IEqualityComparer接口逐字段比较两个复杂集合吗【代码】

我正在尝试使用IEqualityComparer逐字段比较2个集合中的2个字段. IEqualityComparer仅比较1个字段“名称”.我也想比较“标记”. 在Java中,我们具有比较器接口,用于比较Equals方法中的多个字段.using System; using System.Linq; using System.Collections.Generic;public class Program{public static void Main(){IList<Student> studentList1 = new List<Student>(){new Student(){ name="aaaaa", mark = 95, },new Student(){ n...

c#-在中等信任中调用内部方法【代码】

我需要调用第三方对象的内部方法(例如,我不能将其公开).我可以通过反射做到这一点.不幸的是,由于权限不足,这在ASP.NET Medium信任中不起作用:<IPermission class="ReflectionPermission" version="1" Flags="RestrictedMemberAccess"/></PermissionSet>在这种情况下,有什么办法可以使用内部方法?我听说LINQ表达式可用于调用私有/内部方法.表达式方法将以某种方式覆盖ReflectionPermission吗?解决方法:我没有办法称呼它. .NET安全...

C#-.NET COM互操作方法签名【代码】

对于以下COM方法,您将使用什么互操作签名?我对最后两个参数以及是否尝试将MarshalAs与SizeParamIndex一起使用特别感兴趣.HRESULT GetOutputSetting(DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE* pType,BYTE* pValue,WORD* pcbLength );文档状态:pValue [out] Pointer to a byte buffer containing the value. Pass NULLto retrieve the length of the bufferrequired. pcbLength [in, out] On input, poi...

c#-从背后的代码启动用户控制的正确方法是什么【代码】

基本上我想在后面的代码中创建一个用户控件,然后将其DataBind()插入,然后将控件插入当前页面 我目前正在尝试:var comment = new IncidentHistoryGroupComment(); comment.LoadControl("~/Controls/IncidentHistoryGroupComment.ascx"); comment.LoadTemplate("~/Controls/IncidentHistoryGroupComment.ascx"); comment.InitializeAsUserControl(this); comment.AttachmentActions = group.HastAttachmentActions ? group.Attachme...

c#-解决asp.net中“潜在危险请求”错误的最佳方法是什么?

我目前正在处理的项目在结帐时有一个选项,可以将嵌入式YouTube视频附加到广告中. 这引起了头痛: 我最初的计划是采用用户从YouTube提供的嵌入html,并拆分videoID,然后仅存储该ID,并拒绝任何不符合特定模式的内容,以确保没有任何狡猾的生意. 不幸的是,ASP.net验证在将html发送回给我进行处理之前就捕获了html,除了关闭验证以解决此问题之外,还有其他方法吗? 我自己可以处理不安全的html,并且页面上还有太多其他控件无法证明关闭验证...

在.NET 3.5 C#中,是否有方法可以检测NVIDIA SLI模式是否处于活动状态【代码】

对于NVIDIA显卡,您可以将两个显卡合为一体(SLI).对于.NET桌面应用程序,我需要能够检查是否已启用SLI.这可能吗?解决方法:那应该是可能的. 根据nVidia文档,您可以查询via NVCPL.DLL(就像文档一样). 使用的调用是NvCplGetDataInt()(第67页),参数为NVCPL_API_NUMBER_OF_SLI_GPUS或NVCPL_API_SLI_MULTI_GPU_RENDERING_MODE,您应该获取所需的信息. 为了访问此信息,您需要P / Invoke.如果可以统计地链接NVCPL.DLL,您只需创建正确的导入(静...

c#-在方法中传递Linq实体的属性以设置和获取结果【代码】

我正在尝试传递要由我的方法使用的Linq实体的属性.我可以轻松地传递要查询的财产Func<Entities.MyEntity, ResultType> GetProperty = ent => ent.Property;但是,这将返回ResultType,并且不能用于设置属性. 我曾考虑过使用反射来获取propertyInfo,但这将使我能够获取属性,但随后我将无法使用Linq语法来调用我的属性.有没有知道怎么做的专家? 我有一种预感,我可以通过构造表达式树的一部分并将其应用于查询来做到这一点… 我真的希望...

C#-ASP.NET锁定线程方法【代码】

我正在使用C#开发ASP.NET表单Web应用程序.我有一种为客户创建新订单的方法.看起来与此类似;private string CreateOrder(string userName) {// Fetch current orderOrder order = FetchOrder(userName);if (order.OrderId == 0) {// Has no order yet, create a new oneorder.OrderNumber = Utility.GenerateOrderNumber();order.Save();}return order;}这里的问题是,两个请求(线程)中的1个客户有可能导致两次调用此方法,而另一个线...

如何将IronPython实例方法传递给类型为`Func`的(C#)函数参数【代码】

我正在尝试将IronPython实例方法分配给C#Func< Foo>.参数. 在C#中,我将有一个类似的方法:public class CSharpClass {public void DoSomething(Func<Foo> something){var foo = something()} }并从IronPython这样调用它:class IronPythonClass:def foobar(self):return Foo() CSharpClass().DoSomething(foobar)但我收到以下错误: TypeError:预期的Func [Foo],具有instancemethod解决方法:好.我想我可能已经找到了解决方案:imp...

c#-在.NET中实现线程对话(如Facebook Wall)的最佳方法是什么?

我只是想知道实现像Facebook Wall这样的线程对话的最佳方法是在其中将评论显示在每个帖子下,而较旧的评论则可以折叠和展开.我的本能是使用嵌套的数据列表,但是我认为这可能会降低性能.解决方法:我会考虑使用ASP .NET MVC而不是webforms.我将使用初始页面加载来加载服务器端的前几个帖子,然后考虑使用带有jQuery的AJAX来实现客户端解决方案以检索其他记录-这里有一个example of that here.

c#-处理静态方法时,将代码保持在同一级别【代码】

这可能有点主观,但我想就您的当前情况提供您的意见.我有一个用于序列化/反序列化对象的类.public class MyClass {public static string ToXmlString( MyClass c ) { /*...*/ }public static MyClass FromXmlString( string xml ) { /*...*/ } }我只喜欢这种方法,因为它可以将两个功能保持在同一级别.但是,我的目标是避免使用静态方法(可行时).感觉也像是我在破坏SRP,但是此对象的主要目标是可以从xml字符串进行序列化/反序列化. 在...