MSDN довольно расплывчато в отношении этого атрибута.
Пользовательская строка данных может быть установлена на
любое строковое значение и устанавливается с помощью
Атрибут customProviderData объекта
добавить элемент конфигурации для добавления
свойства профиля.
Какой MSDN-образный способ сказать самому себе.
Из описания кажется, что это простой текст, который вы просто передаете из web.config пользовательскому провайдеру. Но это не так, эта строка, похоже, строит тип данных, которые будет содержать данный атрибут, и я хочу знать, какой это конкретный формат.
В частности, у меня есть следующие атрибуты (и еще несколько, но я приведу в качестве примера только два)
[SettingsAllowAnonymous(false)]
[CustomProviderData("NotificationTypes;nvarchar;255")]
public string NotificationTypes
{
get { return base["NotificationTypes"] as string ?? "Email"; }
set { base["NotificationTypes"] = value; }
}
[SettingsAllowAnonymous(false)]
[CustomProviderData("IssuesPageSize;int")]
public int IssuesPageSize
{
get { return base["IssuesPageSize"] as int? ?? 10; }
set { base["IssuesPageSize"] = value; }
}
Здесь пользовательские данные, кажется, определяют имя поля, тип БД и длину БД. Мне было интересно, если этот атрибут может содержать по умолчанию.
Мои вопросы следующие:
Может ли base[attrib]
быть нулевым в реализации ProfileBase
?
Должен ли я просто проверить 0
и string.Empty
, если я хочу установить значения по умолчанию?
Дело в том, что если base[attrib]
никогда не может быть нулевым, мне не нужен кастинг int?
, и я должен просто проверить против 0
, в этом случае, и против string.Empty
в предыдущий.
То есть, если нет "более счастливого" способа установить значение по умолчанию, почти как в файле web.config, где вы просто набираете:
<add name="NotificationTypes" type="String" defaultValue="Email" customProviderData="NotificationTypes;nvarchar;255" />
Полагаю, я спрашиваю, как добавить функционально такой же атрибут, как в теге <add/>
выше, но программно.