示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("取り込みFileをフルパスで入力してください。");
            Console.WriteLine("例:C:\\TEST.txt");
            Console.Write("File Path : ");
            string filePath = Console.ReadLine();

            if (File.Exists(filePath))
            {
                using (StreamReader sr = new StreamReader(filePath, Encoding.GetEncoding("Shift-JIS")))
                {
                    int    i      = 0;
                    bool   result = true;
                    string line;

                    while ((line = sr.ReadLine()) != null)
                    {
                        string[] lineData = line.Split(',');

                        if (lineData.Count() != 3)
                        {
                            Console.WriteLine("フォーマットが異なります");
                            throw new Exception();
                        }

                        //配列をMyDataクラスのメンバへ代入。
                        MyData data = MyData.SetData(lineData);

                        Console.WriteLine("[" + ++i + "レコード目]");

                        //MyDataクラスのメンバをIValidationを実装したリストへ移し替える。
                        Validator validator = Validator.CreateValidator(data);
                        try
                        {
                            //ポリモーフィズム。IValidationインターフェースを実装したクラス毎にヴァリデーション定義がされている。
                            validator.Validate();
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("エラーが発生しました。:" + i + "レコード目 " + ex.Message);
                            result = false;
                        }
                    }

                    if (result)
                    {
                        Console.WriteLine("*Validation result:      [OK]");
                    }
                    else
                    {
                        Console.WriteLine("*Validation result:      [NG]");
                    }
                }
            }
            else
            {
                Console.WriteLine("Fileが存在しません。");
            }

            Console.ReadKey();
        }
 public override ValidationResult Validate(string fieldLabel, string fieldValue)
 {
     return(Validator.Validate(fieldLabel, fieldValue));
 }
示例#3
0
 public string this[string propertyName]
 {
     get { return(Validator.Validate(propertyName)); }
 }