public OutputHlpr() { this.OutFileNameFunc = delegate(OutputHlpr toh) { if (toh.DfltOutPutTarg is DirectoryInfo) { DateTime now = DateTime.Now; DirectoryInfo info2 = (DirectoryInfo)toh.DfltOutPutTarg; if (!Directory.Exists(info2.FullName)) { info2.Create(); } now.ToString("o").Substring(0, 9).Replace("-", ""); now.ToString("HH:mm:ss.ffffzzz"); now.ToString("HH:mm:ss:ffff").Replace(":", ""); throw new Exception(); } FileInfo dfltOutPutTarg = (FileInfo)toh.DfltOutPutTarg; if (File.Exists(dfltOutPutTarg.FullName)) { Path.GetFileNameWithoutExtension(dfltOutPutTarg.FullName); string extension = dfltOutPutTarg.Extension; throw new Exception(); } return(dfltOutPutTarg); }; throw new Exception(); }
public static void SaveFunc(string fileName, double a, double b, double h, Dlgt dlgt) //a - нач.точка, b - конечн.точка, h - шаг ф-ции { FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); double x = a; while (x <= b) { bw.Write(dlgt(x)); x += h; } bw.Close(); fs.Close(); }
static void Main(string[] args) { Dlgt dlgtF = F, dlgtSin = Fsinxx, dlgtTan = FxTgx; // прошу комментарий о необходимости этой строки, т.к. не увидел разницы в работе с обобщенным списком. //ArrayList listDelegates = new ArrayList { dlgtF, dlgtSin, dlgtTan }; //это необобщенный список List <Dlgt> listDelegates = new List <Dlgt> { dlgtF, dlgtSin, dlgtTan }; Console.WriteLine("Введите номер функции, начальную и конечную точки, шаг функции через пробелы.\n" + "1 - функция вида x*x-50*x+10\n" + // эти номера нужно будет уменьшить на 1 для соответствия элементам коллекции "2 - функция вида x*x*sin(x)\n" + "3 - функция вида x*(tg(x))"); string[] param = Console.ReadLine().Split(' '); SaveFunc("data.bin", double.Parse(param[1]), double.Parse(param[2]), double.Parse(param[3]), listDelegates[(int.Parse(param[0])) - 1]); //SaveFunc("data.bin", double.Parse(param[1]), double.Parse(param[2]), double.Parse(param[3]), (Dlgt)listDelegates[(int.Parse(param[0])) - 1]); //работа с необобщенным списком Console.WriteLine(Load("data.bin")); Console.ReadKey(); }
protected void ExecuteInMainThread(Dlgt method) { Invoke(method); }
public static TR AsTry <TR>(Dlgt <TR> func) where TR : class { return(AsTry <TR>((Func <TR>)func)); }
protected void ExecuteInUIThread(Dlgt dlgt) { Invoke(dlgt); }