【c#-有条件地传递命名参数】教程文章相关的互联网学习教程文章

将多个参数传递给C#中的Func <>【代码】

这是来自编程测试,所以我确信有更好的方法可以做到这一点,但问题需要这个具体的答案. 我有一个方法Result,它简单地匹配一个谓词并返回一个bool,并且所讨论的谓词检查一个字符串数组,以报告任何字符串是否超过长度5.static bool Result<T>(T[] values, Func<T, bool> predicate) {if (values.Where<T>(predicate).Count() > 0)return true;elsereturn false; }static bool StringLengthLessThan5(string str) {return str.Length < ...

已经定义了一个使用相同参数类型c#调用的成员【代码】

正如标题所说我有这个错误已经定义了一个使用相同参数类型调用的成员c# 我已经查看了多个相同的问题,但它们都说明了它为什么会发生以及如何处理它(将方法的名称更改为其他方法)但是我不想将方法名称更改为其他方法,因为它是相同的方法但具有不同的参数所以我只是想绕过它. 这是我有两种方法:public static List<int> Lista(int vrDok) {List<int> list = new List<int>();using (FbConnection con = new FbConnection(M.Baza.conn...

使用数据中的参数调用C#方法【代码】

说,我有一个像这样的XML字符串,<METHOD>foo</METHOD> <PARAM1>abc</PARAM1> <PARAM2>def</PARAM2> ... <PARAM99>ghi</PARAM99> <PARAM100>jkl</PARAM100>我有一个方法void foo(String param1, String param2, ..., String param99, String param100) { ... }有没有简单的方法让我将这个字符串映射到一个真正的方法调用,其中params匹配C#中方法的param名称?解决方法:假设您知道类型,拥有它的实例,并且该方法实际上是公共的:string...

我可以在C#中使用未知类型的参数声明方法来创建接口或抽象类吗?【代码】

我正在将http GET查询字符串解析为其组件.在尝试使其模块化(参数的数量和类型可以变化很大)时,我希望有一个参数抽象基类或接口来定义是否已设置属性,以及设置方法的Set方法值.有没有办法用Set方法的变量参数类型做到这一点? 总体思路如下:public abstract class Parameter {public bool IsSet { get; protected set; }protected Parameter() { IsSet = false; }public abstract void Set( --unknown type here-- ); }一个示例参数...

c# – 带参数的UserControl构造函数【代码】

我的问题是当我想使用带参数的UserControl时. 它调用构造函数(没有参数的构造函数和带参数的constroctor) 这是正常情况吗? 如果没有,我应该如何构造对象.public partial class FreeExperience : Arche.Web.UI.UserControlBase {private ItemInfo itemInfo;public FreeExperience() : base(){}public FreeExperience(ItemInfo itemInfo) : this(){this.itemInfo = itemInfo;}在这里我做了简单的userControl, 并在另一页上像这样调用...

c# – 如何将泛型委托参数传递给.NET 2.0中的方法【代码】

我有一个带有委托声明的课程如下……Public Class MyClass Public Delegate Function Getter(Of TResult)() As TResult ''#the following code works.Public Shared Sub MyMethod(ByVal g As Getter(Of Boolean))''#do stuffEnd Sub End Class但是,我不想在Method调用中显式键入Getter委托.为什么我不能将参数声明如下……... (ByVal g As Getter(Of TResult))有办法吗? 我的最终目标是能够在被调用的类中为属性设置器和gette...

c# – 泛型:何时使用new()作为类型参数的约束?【代码】

type参数必须具有公共无参数构造函数.与其他约束一起使用时,必须最后指定new()约束. 当需要这种约束时,你能给我一个示例场景吗?解决方法:这基本上是new()约束归结为:class Factory<T> where T : new() {public T Create(){return new T();// ^^^^^^^// this requires the new() type constraint.} }现在,您不允许将参数传递给构造函数.如果你想要初始化新的对象,你可以实现这一点,例如通过引入进一步的约束:interface I...

c# – 如何将通用对象作为方法参数传递【代码】

这可能是一个非常基本的问题,但它仍然让我感到困惑(谷歌无法帮助);-)如何将通用对象作为参数传递给函数? 例如,我有一个类CoolGeneric< T> 现在我需要一个方法DoSomethingWithAGeneric(CoolGeneric g).在这里,编译器继续抱怨具体的类型参数是必要的.但该方法应该适用于各种类型的参数! 我怎样才能做到这一点?谢谢!解决方法:简单地说DoSomethingWithAGeneric<T>(CoolGeneric<T> g)或者,如果方法位于声明泛型类型的类中:class My...

c# – 如何将默认参数值设置为BigInteger类型?【代码】

我需要一个具有BigInteger类型的构造函数的类.我想用这个代码将默认值设置为0,但是我遇到了编译错误.public class Hello {BigInteger X {get; set;}public Hello(BigInteger x = 0){X = x;} }public class MyClass {public static void RunSnippet(){var h = new Hello(); // Error <-- 怎么了?有没有办法将默认值设置为BigInteger参数?解决方法:默认参数仅适用于编译时常量(以及参数可以是默认值(ValType)或新ValType())的值类型...

c# – 为什么我要包含一个Func / Func作为参数?【代码】

我承认它们可能很有用,但是当我真的希望将func作为方法的参数时,我正试图解决这个问题.public void WeirdMethod(int myNumber, func op);在设计和功能方面,有人可以向我解释一些我想要考虑的情况吗? “可重用性”的理论对我没有多大帮助.真实场景最好.帮我想想你好哈哈. 以下是我所知道的一切: >这将允许我通过代表>这将允许我使用lambda表达式. 叶氏… 注意:我知道这个帖子会被关闭,因为没有“正确”的答案.但我认为刚才为我点...

c# – 如何通过反射调用带参数的泛型方法?【代码】

假设我有一个这样的类,包含带out参数的泛型方法:public class C {public static void M<T>(IEnumerable<T> sequence, out T result){Console.WriteLine("Test");result = default(T);} }从阅读答案到其他几个问题(How to use reflection to call generic Method?和Reflection on a static overloaded method using an out parameter),我想我可以通过反射调用方法,如下所示:// get the method var types = new[] { typeof(IEnumer...

c# – 为什么FileStream不作为Streamwriter的参数写入文本文件?【代码】

在下面的代码中,当使用以下语句时,我能够将字符串’fullname’的内容写入指定目录中的文本文件:System.IO.File.WriteAllText(path,fullname);但是,如果我将字符串路径写入FileStream对象(指定了参数),然后将该FileStream对象作为参数传递给StreamWriter对象,则会创建该文件,但不会写入任何内容. 第一次尝试:注释掉System.IO.File.WriteAllText(path,fullname);并使用它上面的三条线.这将创建文件,但不会将任何内容写入文件. 第二...

c# – 实现多个接口的参数【代码】

给以下代码:internal interface IHasLegs {int NumberOfLegs { get; } }internal interface IHasName {string Name { get; set; } }class Person : IHasLegs, IHasName {public int NumberOfLegs => 2;public string Name { get; set; }public Person(string name){Name = name;} }class Program {static void ShowLegs(IHasLegs i){Console.WriteLine($"Something has {i.NumberOfLegs} legs");}static void Main(string[] args)...

c# – 动态操作:执行时无效的参数【代码】

我在规模很大的项目中有很多地方需要打开一个类型.显然我不能在.NET中做到这一点(以一种简单到足以满足我的方式),所以我必须进行相当数量的转换.此代码是试图在概念证明中隐藏其中一些内容的结果. 我有一个简单的继承模型:public class Base { } public class Derived : Base { public string Name { get; set; } }和我的班级:public sealed class TypeSwitch<T> {private Dictionary<Type, dynamic> _dict;public TypeSwitch()...

c# – 仅传递接受的参数值的方法【代码】

假设以下方法:int ExtractMedian(int Statistic) {return ExtractionWork; }是否可以通过使用ref来强制Statistic仅接受奇数,如1,3,5,但在传递后不检查值?解决方法:Is it possible to force Statistic to accept only odd numbers like 1, 3, 5by using ref for example but without checking the value after it is passed?不,我不这么认为. 我只想检查方法的开头:int ExtractMedian(int Statistic) {if(Statistic % 2 == 0)thr...