В консольном приложении, у меня есть следующий:Почему этот делегат не работает?
static void Main(string[] args)
{
var t = New Test();
var newString = t.TestDelegate(tester("just testing"));
public static string tester(string s) {
return s;
}
}
public delegate string MyDelegate(string s);
public class Test
{
public string TestDelegate(MyDelegate m)
{
return "success!";
}
}
Это не работает. На var newString
линии, я получаю следующее сообщение об ошибке:
cannot convert from 'string' to 'MyDelegate'
tester
имеет ту же сигнатуру, MyDelegate
. Что я делаю не так?
Метод 'TestDelegate()' требует экземпляра 'MyDelegate'. Вы передаете ему строку. Если вы хотите передать экземпляр делегата, который ссылается на 'tester', то просто передайте' tester', т. Е. 'Var newString = t.TestDelegate (tester);'. Если это не то, чего вы хотите, тогда я понятия не имею, чего вы хотите. Пожалуйста, исправьте свой вопрос, чтобы он имел смысл. –
Сколько писем в обычном конверте? Один. Сколько писем находится в «обычном конверте»? 18. Функция, которая создает строку и строку, которую она производит, представляет собой две разные вещи. –