Ho provato a fare così ma non funziona
codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
namespace copiaWebService
{
public partial class Form1 : Form
{
copiaDati cp = new copiaDati();
public Form1()
{
InitializeComponent();
}
...
...
private void startButton_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(cp.scriviStato(cp.Copia(this.textBox1.Text,this.textBox2.Text))));
t.Start();
}
...
...
public class copiaDati
{
String okMessage = "FATTO!";
String errMessage = "File origine non aggiornato";
public String Copia(String fileNameSrc, String fileNameDst)
{
DateTime dataFileSrc = File.GetLastWriteTime(fileNameSrc);
DateTime dataFileDst = File.GetLastWriteTime(fileNameDst);
if (dataFileSrc > dataFileDst)
{
if (File.Exists(fileNameDst + ".old"))
try
{
File.SetAttributes(@fileNameDst + ".old", FileAttributes.Normal);
File.Delete(fileNameDst + ".old");
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
return "";
}
else
File.Copy(fileNameDst, fileNameDst + ".old");
if (File.Exists(fileNameDst))
try
{
File.SetAttributes(@fileNameDst, FileAttributes.Normal);
File.Delete(fileNameDst);
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
return "";
}
File.Copy(fileNameSrc, fileNameDst);
return okMessage;
}
return errMessage;
}
public String scriviStato(String res)
{
String s = null; ;
s = DateTime.Now.ToString();
if (res == okMessage)
s += " --> " + okMessage;
else
s += " --> " + errMessage;
s += "\n";
return s;
}
}
Quando compilo mi da un errore su:
Thread t = new Thread(new ThreadStart(cp.scriviStato(cp.Copia(this.textBox1. Text,this.textBox2.Text))));
dicendo: "è previsto il nome di un metodo".
Come mai?