2013-05-13 47 views
0

所以我想要做的是建立一個記錄功能,我希望能得到它採取的格式接受的參數的非固定長度組中的功能

public static void AddToLog(Guid someID, LogArea myLogger, string message, object object1, object object2... ... ...); 

倒數第二個參數我想接受一個字符串,它的格式類似於string.format,最後的X參數是用字符串格式替換的對象。

我很難過,因爲我不記得編程概念被調用來尋找在C#中找到這個例子。我也意識到這裏有奇妙的日誌記錄軟件包 - 我只需要這個做一些特殊的事情,這就是爲什麼我正在重新發明輪子:D

任何建議如何告訴C#不要期望固定長度的參數? (如果有人知道如何最好地記錄這個///表示法,我會非常感激的)。

回答

3

您正在尋找params[]

public static void AddToLog(Guid someID, LogArea myLogger, string message, params object[] list) 
{ 
    // you can use it like an array 
    Console.WriteLine("Guid:{0} Message:{1} Objects:{2}" 
     , someID, message, string.Join(",", list)); 
} 
2

使用params

public static void AddToLog(
    Guid someID, LogArea myLogger, string message, params object[] parameters) 
{ 
    foreach(object p in parameters) 
    { 
     Console.WriteLine(p); 
    } 
} 
1

我相信你正在尋找的關鍵詞是params

public static void AddToLog(Guid someID, LogArea myLogger, string message, params object[] objects) 
相關問題