【C#中几种同步的方法】教程文章相关的互联网学习教程文章

c# – 方法和扩展方法参数之间的类型推断差异【代码】

假设我定义了以下方法:int ReturnNumber(int number) {return number; }现在,让我们说我还定义了以下两种方法;常规方法: void Print(Func< int,int>函数) 和扩展方法: static void Print(这个Func< int,int>函数) 我可以这样称呼前者: 打印(ReturnNumber); //常规方法调用,似乎隐式将ReturnNumber转换为Func< int,int> 但我不能用后者做到这一点: ReturnNumber.Print(); //扩展方法调用,似乎没有进行隐式转换 – 导致编译器错...

C#反射异常未找到方法【代码】

嗨,我正在开发CRM 2011插件,我有反映类型的问题.我已经生成了实体类,我知道属性存在于类型中,但是当我尝试获取其值时,我得到了关于未找到方法的异常.最愚蠢的部分是它在我的机器上完美运行但不适用于客户端. 这是我的代码(我需要从实体获取所有OptionSets并对它们执行操作):public override void MyExecute(){var fse = TargetEntity.ToEntity<Equipment>();Type equiptmentType = fse.GetType();TracingService.Trace("FSE objec...

c# – Visual Studio错误解决方法中的lambda与Func委托重载?【代码】

在具有各种Func委托重载的函数中使用匿名方法时,我在Visual Studio 2010中遇到了一些奇怪的行为. 我在下面创建了一个小型复制课程. 考虑这个ListViewAdapter类namespace LambdaTestApp {public class ListViewAdapter<T>{private Func<int, string, int, string> _converter1;private Func<RefType1, string, string> _converter2;public ListViewAdapter(int arg1, Func<int, string, int, string> converter) {_converter1 = con...

c#-如果具有方法/扩展方法,则调用它【代码】

我正在为字典制作ToDebugString()方法,但是如果该类型可用,我还希望它对任何项目使用ToDebugString()方法. 由于ToDebugString()有时被实现为本机.NET类型(例如字典和列表)的扩展方法,因此我在检查该方法是否存在时遇到了麻烦.我只将扩展方法放在一个称为ExtensionMethods的类中,因此我可能只需要在一个其他类中进行搜索. 兴趣点在这里: ToDebugString()抱怨类型参数.另外,由于Value是泛型类型,因此它不会自动建议ToDebugString()方...

c# – 通用方法中的implict类型转换【代码】

为什么我在下面的代码中得到一个编译器错误说明:即使T必须从我在where子句中定义的NodeBase派生,即使SpecialNode实际上是从NodeBase派生的,也不能将类型SpecialNode转换为T.public static T GetNode<T>() where T : NodeBase{if (typeof(T) == typeof(SpecialNode)){return ThisStaticClass.MySpecialNode; // <-- compiler error}if (typeof(T) == typeof(OtherSpecialNode)){return ThisStaticClass.MyOtherSpecialNode; // <--...

如何在C#中调用具有动态属性的泛型方法【代码】

我有几种具有相似签名的方法,并试图将它们转换为一种通用方法而不使用接口.public List<MultiSelectDropdown> ConvertListOfJobStatusToDropdownListClickable(List<JobStatus> js) {var list = new List<MultiSelectDropdown>();if (js != null && js.Count >= 1) {list = js.Select(item => new MultiSelectDropdown { Name = item.StatusValue, Value = item.id.ToString() }).ToList();}return list;}public List<MultiSelectD...

C# 反射,通过类名、方法名调用方法[转]【代码】

转自:https://www.cnblogs.com/coderJiebao/p/CSharp09.html 在 C# 代码中,有些时候只知道方法的名字(string),需要调用该方法,那么就需要用到 C# 的反射机制。下面是一个简单的 demo。 using System; using System.Reflection;class Test {// 无参数,无返回值方法public void Method(){Console.WriteLine("Method(无参数) 调用成功!");}// 有参数,无返回值方法public void Method(string str){Console.WriteLine("Meth...

c# – 将NULL传递给COM接口方法的ref / out参数【代码】

如果定义为[In,Out] ref int pchEaten,如何将NULL传递给COM接口方法的参数? 例如,请考虑以下界面:[ComImport, Guid ("000214E6-0000-0000-C000-000000000046")] [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] internal interface IShellFolder {void ParseDisplayName ([In] IntPtr hwnd,[In] IBindCtx pbc,[In, MarshalAs (UnmanagedType.LPWStr)] string pszDisplayName,[In, Out] ref uint pchEaten,[Out] out PID...

c# – 可扩展统计系统的最佳方法

好的 – 我需要实现统计/数据点/数据源系统. 我基本上想要定期将数据传递给’root’,并让它处理和更新相关属性以便在整个应用程序中进行访问 – 作为图形,标签,状??态检查等的数据源. 我想知道是否有一些真实世界的例子来自过去处理过类似事情的用户.我用谷歌搜索出了这个问题,我不断得到一些关于我应该做什么的结果,我讨厌编程和’让这些部分落到实处’.我需要一个方向. 为清晰起见编辑:数据来源将是: >本地文件(最有可能是xml)...

c# – IEnumerable.Max()是最快的方法吗?【代码】

我正在开发一个软件的一部分,我有一个列表(目前列出< Sample>),如下所示:public class Sample {//...public double ValueChannel1 { get; set; }public double ValueChannel2 { get; set; }//... }这些列表具有约100至数千个这样的样本,并且每秒有大约100k个样本.现在我需要找到每个列表中的最大值和最小值,我现在按照以下方式执行:var Ch1Max = task.Samples.Max<Sample>(s => s.ValueChannel1); var Ch1Min = task.Samples.Min...

c# – 有一种简单的方法来导航List对象吗?【代码】

我有一个显示联系人(名称,地址和状态)的WPF表单. GUI绑定到CurrentContact对象,它们存储在List< Contact>中. 我想在底部添加按钮:+-----+ +-----+ +-----+ +-----+ | << | | < | | > | | >> | +-----+ +-----+ +-----+ +-----+ 含义首先,前一个,下一个和最后一个. 是否有一个简单的控制或约定来遍历列表?或者我是否需要存储currentItemIndex并自己滚动?解决方法:列表提供随机访问,因此您无需迭代它们以从一个位...

在类型转换中执行C#空检查的简便方法【代码】

我正在一个我不太熟悉的项目中做一些快速类型转换. 他们看起来像这样:var NewType = new {NewTypeId = old.SubType == null ? 0 : old.SubType.SubTypeId ?? 0,OtherType = old.OtherType ?? "",Review = old.CustomerComments ?? "",Country = old.Country == null ? "" : old.Country.Abbreviation ?? "",Customer = old.SubType == null ? "" :old.SubType.Customer == null ? "" :old.SubType.Customer.Name ?? "" };我正在转...

c# – 如何让委托引用特定版本的方法?【代码】

我想创建一个调用特定实例方法的委托,遗憾的是,如果该方法是虚拟的,则将调用继承类的方法的重写而不是基本版本.public class Base{public virtual void Method(){Console.WriteLine("Base");}}public class Child : Base{public override void Method(){Console.WriteLine("Child");}}如果代码中的其他地方我有以下::var action = Delegate.CreateDelegate(typeof(Action<Base>), typeof(Base).GetMethod("Method")) as Action<Bas...

用C#从数据库动态生成AdminLTE菜单的一种方法【代码】【图】

1 public class AdminLTEHelper2 {3 /// <summary>4 /// 根据DataTable生成AdminLTE的多级菜单目录5 /// GetTreeJsonByTable(datatable, "id", "title", "pid", "0","menulevel");6 /// </summary>7 /// <param name="tabel">数据源</param>8 /// <param name="idCol">ID列</param>9 /// <param name="txtCol">Text列</param> 10 /// <param name="rela">...

c# – 类型不能在泛型类型或方法中用作类型参数“T” – 为什么?【代码】

参见英文答案 > Why does a generic type constraint result in a no implicit reference conversion error? 5个我正在尝试从接口继承两个不同的模型.这些模型应该作为List或Collection传递给Method.现在我收到此错误消息:The type 'InheritanceTest.FooModel' cannot be used as type parameter 'T' in the generic type or method 'InheritanceTest.Service.DoSomethingWith<T>(System.Coll...

同步 - 相关标签