Der folgende Code funktioniert:Delegierter Func <> in Windows Form-Anwendung C#
class Program
{
static void Main(string[] args)
{
List<Func<string, string>> mylist = new List<Func<string, string>>();
mylist.Add(Navigation);
mylist.Add(Tactic);
Func<string, string> GameOfThrones = mylist[0];
string name = "NONE";
Console.WriteLine(GameOfThrones(name));
Console.ReadLine();
}
private static string Navigation(string tmp) { return "Navigation"; }
private static string Tactic(string tmp) { return "Tactic"; }
}
aber ich wünsche, diese Anwendung mit einer Windows-Formular verwenden, nicht trösten.
habe ich versucht, die folgenden, aber ich kann es nicht funktionieren:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
List<Func<string, string>> mylist = new List<Func<string, string>>();
mylist.Add(Navigation);
mylist.Add(Tactic);
Func<string, string> SkillCall = mylist[0];
string name ="NONE";
TextBox1.Text = SkillCall(name);
}
private static string Navigation(string tmp) { return "Navigation"; }
private static string Tactic(string tmp) { return "Tactic"; }
}
Fehler 8 ‚mylist‘ ist ein ‚Feld‘, sondern wie ein ‚Typ‘
Welche Zeile gibt diesen Fehler? – BlackBear
Der Code ist ungerade, aber gut. Ich vermute, Sie haben irgendwo in Ihrer lokalen Kopie eine überflüssige Klammer oder ein Semikolon. –
Lösung .. Offenbar ist VS zufrieden mit mir alle den Code in der Klasse kopieren und in eine neue dublicate Klasse einfügen .. Wenn jemand dies ohne Verwendung erklären kann: „Das ist M $“, dann werden Sie das gelöst bekommen Kennzeichen. –