У меня проблема. Я знаю только, как использовать action и func, но проблема в том, что мне нужно поместить метод в такой конструктор.
Reader read = new Reader(1000, cki, method);
Но проблема в том, что метод требует такого ввода.
public static void method(int Integer)
Что мне делать в этой ситуации?
3 ответа
Вы можете использовать Action<int>
для параметра конструктора. Тип возврата Action
- void
, а общий аргумент - это тип параметра. Таким образом, он соответствует вашему методу, который принимает {{X3 }} и возвращает void
.
Кажется, вы ищете Action<int>
и вызываете его из конструктора, как показано ниже?
using System;
public class Program
{
public static void Main()
{
Sample s = new Sample((i) => {Console.WriteLine(i);});
}
}
public class Sample
{
public Sample(Action<int> method)
{
method(5);
}
}
Вы не можете использовать метод, но можете использовать действие
public Reader(int first, object cki, Action method)
{
//ctor code here
method.Invoke();
}
Чем использовать:
var reader = new Reader(1000, cki, () => SomeMethod(123));
Похожие вопросы
Связанные вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.