2017-03-24 20 views
-3

我有一個小但很難理解這行代碼如下:事件簽名

types(lstTypes[i].AvailableDatatype); 

我不知道什麼是AvailableDatatype的目的。

這裏的全部代碼...

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好點,謝謝 – stuartd

回答

0

types事件表示,這需要string作爲其唯一參數的方法。

AvailableDatatypestring類型,所以它可以用作types的參數。

該代碼正在做什麼,通過使用這些元素的AvailableDatatype作爲這些方法的參數,調用lstTypes列表中每個元素的事件types的每個委託方法。