Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / XmlElement ElementName = Resources.Strings.Name / 5 сообщений из 5, страница 1 из 1
27.06.2013, 16:15
    #38312914
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XmlElement ElementName = Resources.Strings.Name
Код: c#
1.
2.
3.
4.
        [XmlElement(ElementName = Resources.Strings.Name)]
        [Required(ErrorMessageResourceName = "Store_MustSpecifyName", ErrorMessageResourceType = typeof(Resources.Strings))]
        [StringLength(150, ErrorMessageResourceName = "CDM_MustSpecifyNumberWithNMaxChars", ErrorMessageResourceType = typeof(Resources.Strings))]
        public string Name { get; set; }



Как подтащить имя элемента из ресурса?
Выдает ошибку, что дб константой
...
Рейтинг: 0 / 0
28.06.2013, 01:58
    #38313475
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XmlElement ElementName = Resources.Strings.Name
...
Рейтинг: 0 / 0
19.07.2013, 14:03
    #38336960
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XmlElement ElementName = Resources.Strings.Name
Все та же проблема:

Описал класс:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class SettingItem : ISerializable
    {
        [XmlElement(ElementName = "Name")]
        public string Name { get; set; }
        [XmlElement(ElementName = "OldValue")]
        public string OldValue { get; set; }
        [XmlElement(ElementName = "NewValue")]
        public string NewValue { get; set; }

        public SettingItem()
        {
        }

        public SettingItem(SerializationInfo info, StreamingContext ctxt)
        {
            Name = (String)info.GetValue("Name", typeof(string));
            OldValue = (String)info.GetValue("OldValue", typeof(string));
            NewValue = (String)info.GetValue("NewValue", typeof(string));
        }

        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            info.AddValue(Resources.Strings.Name, Name);
            info.AddValue("OldValue", OldValue);
            info.AddValue("NewValue", NewValue);
        }
    }



но при сериализации таким способом:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
private XDocument GetSerializer(System.Object item)
        {
            StringWriter sw = new StringWriter();
            XmlSerializer xs = new XmlSerializer(item.GetType());
            xs.Serialize(sw, item);
            XDocument ser = XDocument.Parse(sw.GetStringBuilder().ToString());
            return ser;
        }



Метод GetObjectData не вызывается вообще
...
Рейтинг: 0 / 0
19.07.2013, 15:13
    #38337114
Ponin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XmlElement ElementName = Resources.Strings.Name
Потому что GetObjectData вызывается в BinaryFormatter и SoapFormatter, а в XmlSerializer не вызывается.
...
Рейтинг: 0 / 0
22.07.2013, 09:34
    #38338604
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XmlElement ElementName = Resources.Strings.Name
Ponin,

Спасибо!

Переделал на IXmlSerializable и все заработало.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / XmlElement ElementName = Resources.Strings.Name / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]