Paso como argumentos a un método

Iniciado por aspiazu, 8 Abril 2017, 19:44 PM

0 Miembros y 1 Visitante están viendo este tema.

aspiazu

Buenas .

Como puedo declarar en una clase uno o mas metodos publicos con los argumentos que quiero?

Y como puedo pasar la variable data y imagenes a ese metodo?

este es el código que tengo

Código (csharp) [Seleccionar]
void Awake()
   {
       if (Directory.Exists(rutasapp))
       {
           foreach (string dataApp in Directory.GetDirectories(rutasapp))
           {
               GameObject button = Instantiate(buttonPrefab) as GameObject;
               button.transform.SetParent(layout);
               button.name = "Button" + layout.childCount;


               foreach (string data in Directory.GetFiles(@dataApp).Where(s => s.EndsWith(".exe") || s.EndsWith(".lnk")))
               {
                   if (Path.GetExtension(@data) == ".exe")
                   {
                       button.GetComponent<Button>().onClick.AddListener(() => Process.Start(data));
                   }
               }

             
               foreach (string imagenes in Directory.GetFiles(@dataApp).Where(s => s.EndsWith(".png") || s.EndsWith(".jpg")))
               {
                   if (Path.GetExtension(@imagenes) == ".png")
                   {
                       string imgPath = imagenes;
                     
           }
       }
   }

}

Eleкtro

#1
Cita de: aspiazu en  8 Abril 2017, 19:44 PMComo puedo declarar en una clase uno o mas metodos publicos con los argumentos que quiero?

Y como puedo pasar la variable data y imagenes a ese metodo?

¿Exactamente qué dificultades encuentras a la hora de intentar hacerlo por ti mismo?. Te muestro un ejemplo:

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;

namespace WindowsFormsApplication1 {

   public sealed class FileUtil {

       private FileUtil() {}

        public static IEnumerable<FileInfo> EnumerateFilesByExtension(string dirPath, string searchPattern, SearchOption searchOption,
                                                                      params string[] fileExtensions) {

           foreach (FileInfo item in (from file in new DirectoryInfo(dirPath).EnumerateFiles(searchPattern, searchOption)
                                      where fileExtensions.Contains(file.Extension, StringComparer.OrdinalIgnoreCase)
                                      select file)) {
               yield return item;
           }
       }

   }

}


Modo de empleo:
Código (csharp) [Seleccionar]
IEnumerable<FileInfo> files =
    FileUtil.EnumerateFilesByExtension(@"C:\Directorio\", "*.*", SearchOption.AllDirectories,
                                       new string[] { ".exe", ".lnk", ".png", ".jpg" });

foreach (FileInfo file in files) {

   switch (file.Extension.ToLower()) {
       case ".exe": // Insertar código aquí para procesar archivo .exe
           break;
     
       case ".lnk": // Insertar código aquí para procesar archivo .lnk
           break;
     
       case ".png": // Insertar código aquí para procesar archivo .png
           break;
       
       case ".jpg": // Insertar código aquí para procesar archivo .jpg
           break;
   }
}


¡Saludos!