Tome este código no compilar por ejemplo:¿Es posible explotar una matriz para que sus elementos se puedan pasar a un método con la palabra clave params?
public string GetPath(string basefolder, string[] extraFolders)
{
string version = Versioner.GetBuildAndDotNetVersions();
string callingModule = StackCrawler.GetCallingModuleName();
return AppendFolders(basefolder, version, callingModule, extraFolders);
}
private string AppendFolders(params string[] folders)
{
string outstring = folders[0];
for (int i = 1; i < folders.Length; i++)
{
string fixedPath = folders[i][0] == '\\' ? folders[i].Substring(1) : folders[i];
Path.Combine(outstring, fixedPath);
}
return outstring;
}
Este ejemplo es una versión algo simplificada del código de prueba que estoy utilizando. Por favor, solo estoy interesado en soluciones que tengan que ver directamente con la palabra clave param. Sé cómo funcionan las listas y otras cosas similares.
¿Hay alguna manera de "explotar" la matriz extraFolders para que su contenido pueda pasarse a AppendFolders junto con otros parámetros?
Solo para asegurarse de que entiendo, quiere que la matriz extraFolders se envíe al método AppendFolders como AppendFolders (extraFolders [0], extraFolders [1], ... etc etc.)? Interesante pregunta, me gustaría saber si eso es posible, aunque no veo cómo ... – BFree
Eso es exactamente lo que quiero. –
Su aclaración solo agrega más confusión. ¿Los elementos adicionales que se pasan son una parte importante de esto o no? Si no, la primera mitad de mi respuesta es lo que quieres. Si lo son, este es un caso muy especial, manejado por la segunda mitad de mi respuesta. –