質問編集履歴
1
解決したので最終的なコードを載せておきます
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,6 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            いつもお世話になっております。
         
     | 
| 
       2 
2 
     | 
    
         
             
            いつも回答して頂き助かっています
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
      
 4 
     | 
    
         
            +
            回答を頂いて無事解決しました。
         
     | 
| 
      
 5 
     | 
    
         
            +
            最終的なコードは1番下に載せています
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       4 
9 
     | 
    
         
             
            開発環境は以下の通りです
         
     | 
| 
       5 
10 
     | 
    
         
             
            VS2017
         
     | 
| 
       6 
11 
     | 
    
         
             
            NETFramework,Version=v4.5.21
         
     | 
| 
         @@ -69,4 +74,30 @@ 
     | 
|
| 
       69 
74 
     | 
    
         | 
| 
       70 
75 
     | 
    
         | 
| 
       71 
76 
     | 
    
         
             
            ```
         
     | 
| 
       72 
     | 
    
         
            -
            上記のValiate~メソッドがプロパティごとにあります。
         
     | 
| 
      
 77 
     | 
    
         
            +
            上記のValiate~メソッドがプロパティごとにあります。
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
            以下が解決した最終的なコードです。
         
     | 
| 
      
 80 
     | 
    
         
            +
            Valiate~メソッドを作る必要がなくなりました
         
     | 
| 
      
 81 
     | 
    
         
            +
            ```C#
         
     | 
| 
      
 82 
     | 
    
         
            +
                    private void _dgv_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
         
     | 
| 
      
 83 
     | 
    
         
            +
                    {
         
     | 
| 
      
 84 
     | 
    
         
            +
                        dynamic cellEx = _dgv[e.ColumnIndex, e.RowIndex];
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
                        var names = _dgv.Columns[e.ColumnIndex].Name.Split('-'); // 0 クラス名、1 プロパティ名
         
     | 
| 
      
 87 
     | 
    
         
            +
                        typeof(U).GetProperty(names[1]).SetValue(_validationObject, e.FormattedValue);
         
     | 
| 
      
 88 
     | 
    
         
            +
                        var errors = _db.Entry(_validationObject).Property(names[1]).GetValidationErrors();
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
                        cellEx.ErrorText = "";
         
     | 
| 
      
 91 
     | 
    
         
            +
                        foreach (var err in errors)
         
     | 
| 
      
 92 
     | 
    
         
            +
                        {
         
     | 
| 
      
 93 
     | 
    
         
            +
                            cellEx.ErrorText += err.ErrorMessage + "\n";
         
     | 
| 
      
 94 
     | 
    
         
            +
                        }
         
     | 
| 
      
 95 
     | 
    
         
            +
                        if (errors.Count != 0)
         
     | 
| 
      
 96 
     | 
    
         
            +
                        {
         
     | 
| 
      
 97 
     | 
    
         
            +
                            cellEx.ErrorText = cellEx.ErrorText.TrimEnd('\n');
         
     | 
| 
      
 98 
     | 
    
         
            +
                            e.Cancel = true;
         
     | 
| 
      
 99 
     | 
    
         
            +
                            _dgv.EndEdit();
         
     | 
| 
      
 100 
     | 
    
         
            +
                            _dgv.InvalidateCell(cellEx);
         
     | 
| 
      
 101 
     | 
    
         
            +
                        }
         
     | 
| 
      
 102 
     | 
    
         
            +
                    }
         
     | 
| 
      
 103 
     | 
    
         
            +
            ```
         
     |