GetValue, SetValue
От: LLI  
Дата: 10.06.11 08:30
Оценка:
Здравствуйте!
Не расскажет ли кто-нибудь, для чего нужны в BLToolkit эти самые атрибуты. С парой примеров хотя бы
bltoolkit getvalue setvalue
Re: GetValue, SetValue
От: Аноним  
Дата: 15.06.11 08:30
Оценка:
Здравствуйте, LLI, Вы писали:

UP. Тоже интересно.
Re: GetValue, SetValue
От: IT Россия linq2db.com
Дата: 15.06.11 19:32
Оценка:
Здравствуйте, LLI, Вы писали:

LLI>Не расскажет ли кто-нибудь, для чего нужны в BLToolkit эти самые атрибуты. С парой примеров хотя бы


Если в качестве поля объекта использовать структуру, то этими атрибутами можно явно задавать методы, выполняющие соответствующие функции.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: GetValue, SetValue
От: LLI  
Дата: 15.06.11 21:46
Оценка:
Здравствуйте, IT, Вы писали:
IT>Если в качестве поля объекта использовать структуру, то этими атрибутами можно явно задавать методы, выполняющие соответствующие функции.

Спасибо за ответ. Т.е. Вы именно для этого делали эти атрибуты?
Тогда позвольте ещё вопрос. Как понять этот
Автор: Denis K.
Дата: 21.03.08
код в контексте BLToolkit'a (структуры-то нет, простой string):
  public class MyStringValue
  {
    public MyStringValue()
    {
      Value = "";
    }

    public MyStringValue(string value)
    {
      Value = value;
    }

    string _value = "";

    [SetValue, GetValue]
    public string Value
    {
      get { return _value; }
      set { _value = value != null ? value : ""; }
    }
  }
  
  [GlobalInstanceType(typeof(string), typeof(EditableValue<MyStringValue>), "")]
  public abstract class BizEnt : EditableObject
  {
    public abstract string Str { get; set; }
  }

  static void Main()
  {
    BizEnt bz = TypeAccessor<BizEnt>.CreateInstanceEx(); // здесь бросается exception
  }


ЗЫ. пока понял, что в этом примере это именно для обеспечения нормальной подмены «string» на «EditableValue<MyStringValue>». Это так?
Re[3]: GetValue, SetValue
От: IT Россия linq2db.com
Дата: 16.06.11 13:49
Оценка:
Здравствуйте, LLI, Вы писали:

LLI>Спасибо за ответ. Т.е. Вы именно для этого делали эти атрибуты?

LLI>Тогда позвольте ещё вопрос. Как понять этот
Автор: Denis K.
Дата: 21.03.08
код в контексте BLToolkit'a (структуры-то нет, простой string):


Это абстрактный класс. Когда он создаётся, то внутренняя реализация поля Str делается через MyStringValue. Это указывается атрибутом [GlobalInstanceType(typeof(string), typeof(EditableValue<MyStringValue>), "")]. В результате для Str генерируется что-то вроде:

MyStringValue _str;

public overrider string Str
{
    get { return _str.Value;  }
    set { _str.Value = value; }
}


LLI>ЗЫ. пока понял, что в этом примере это именно для обеспечения нормальной подмены «string» на «EditableValue<MyStringValue>». Это так?


Так.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: GetValue, SetValue
От: LLI  
Дата: 17.06.11 08:27
Оценка:
Здравствуйте, IT, Вы писали:

IT>Так.


Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.