2014-09-16 6 views
0
столбца

по умолчанию для получения DataRow в .designer.cs, какпроблем с изменением поведения по умолчанию для столбца обнуляемого получить в наборе данных

public partial class Fi_securityRow : global::System.Data.DataRow 
{ 
    [global::system.diagnostics.debuggernonusercodeattribute()] 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] 
    public override System.DateTime Exp_dt 
    { 
     get 
     { 
      try 
      { 
       return ((global::System.DateTime)(this[this.tableFi_security.Exp_dtColumn])); 
      } 
      catch (global::System.InvalidCastException e) 
      { 
       throw new global::System.Data.StrongTypingException("The value for column \'Exp_dt\' in table \'Fi_security\' is DBNull.", e); 
      } 
     } 
     set 
     { 
      this[this.tableFi_security.Exp_dtColumn] = value; 
     } 
    } 
} 

, когда я попытался изменить это поведение, добавив в .cs файл в наборе данных класс

public partial class IeFinExecPDataSet 
{ 
    public partial class Fi_securityDataTable 
    { 

     /// <summary> line 19938 
     ///Represents strongly named DataRow class. 
     ///</summary> 
     public partial class Fi_securityRow : global::System.Data.DataRow 
     { 
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] 
      public override System.DateTime? Exp_dt 
      { 
       get 
       { 
        try 
        { 
        if (this[this.tableFi_security.Exp_dtColumn]==System.DBNull.Value) return null; 
         return ((global::System.DateTime)(this[this.tableFi_security.Exp_dtColumn])); 
        } 
        catch (global::System.InvalidCastException e) 
        { 
         throw new global::System.Data.StrongTypingException("The value for column \'Exp_dt\' in table \'Fi_security\' is DBNull.", e); 
        } 
       } 
       set 
       { 
        this[this.tableFi_security.Exp_dtColumn] = value; 
       } 
      } 
     } 
    } 
} 

Я получаю ошибки 12 'mynamespace.ADataSet.Fi_securityDataTable.Fi_securityRow.Exp_dt': не подходящий метод нашел для переопределения ...

, где я ошибся?

+0

Прежде всего, вы говорите, что вы отредактировали автоматически сгенерированный код? – jmcilhinney

+0

Во-вторых, что вы на самом деле изменили? Я не вижу разницы. Может быть, я что-то упустил, но мне не нужно было это решать; вы должны были указать его. – jmcilhinney

+0

Извините, я скопировал и вставил с неправильной исходной частью
Я хочу переопределить код конструктора в файле .cs, но у меня проблемы.
С одной стороны, получение Datetime не желательно, но я хочу DateTime? Я просто не вижу, как я могу переопределить столбец, не заменяя весь datarow для таблицы. , конечно, я хочу заменить бросок try catch, если тест dbnull.value возвращает нуль при необходимости. – gg89

ответ

0

Вы все это делаете неправильно. НЕ редактируйте сгенерированный код. Если вы хотите получить свойство типа DateTime?, добавьте дополнительный частичный класс с дополнительным свойством этого типа. Вы можете реализовать это свойство следующим образом:

public DateTime? NullableExp_dt 
{ 
    get 
    { 
     if (this.IsExp_dtNull()) 
     { 
      return (DateTime?) null; 
     } 
     else 
     { 
      return (DateTime?) this.Exp_dt; 
     } 
    } 
    set 
    { 
     if (value.HasValue()) 
     { 
      this.Exp_dt = value.Value; 
     } 
     else 
     { 
      this.SetExp_dtNull(); 
     } 
    } 
} 
+0

спасибо, я попробую. btw Я редактировал файл .cs, а не designer.cs. Я думал, что oney designer.cs был сгенерирован там, где обычный файл cs предназначен для настраиваемого кода. – gg89

+0

Действительно ли вы действительно признали ответ более двух лет назад? :-) – jmcilhinney

 Смежные вопросы

  • Нет связанных вопросов^_^