2017-03-24 3 views
-3

mit mir ein wenig, aber der harten Zeit zu verstehen diese Codezeile unter:Ereignis Signatur in C#

types(lstTypes[i].AvailableDatatype); 

Ich bin nicht sicher, was der Zweck AvailableDatatype ist.

Hier den vollständigen Code ...

namespace ConsoleApplicationTest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      List<DotNet> lstTypes = new List<DotNet>(); 
      DotNet bltypes = new DotNet(); 
      bltypes.AvailableDatatype = "bool"; 
      lstTypes.Add(bltypes);  

      DotNet strTypes = new DotNet(); 
      strTypes.AvailableDatatype = "string"; 
      lstTypes.Add(strTypes); 

      DotNet intTypes = new DotNet(); 
      intTypes.AvailableDatatype = "int"; 
      lstTypes.Add(intTypes); 

      DotNet decTypes = new DotNet(); 
      decTypes.AvailableDatatype = "decimal"; 
      lstTypes.Add(decTypes);  

      types += x => 
      { 
       Console.WriteLine(x); 
       Console.ReadLine(); 
      }; 

      for (int i = 0; i <= lstTypes.Count - 1; i++) 
      { 
       types(lstTypes[i].AvailableDatatype); 
      }  
     } 

     static event Action<string> types;  
    }  

    public class DotNet 
    { 
     public string AvailableDatatype { get; set; } 
    }  
} 
+0

@LarsTech guten Punkt, danke – stuartd

Antwort

0

Das types Ereignis stellt eine Methode, die ein string als einziges Argument.

AvailableDatatype ist ein string Typ, so kann es als types 's Argument verwendet werden.

Dieser Code ruft jede delegierte Methode des Ereignisses types für jedes Element der lstTypes-Liste auf, indem diese Elemente 'AvailableDatatype als das Argument dieser Methoden verwenden.