Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Одинаковые методы с разными типами параметров, тип данных 
V
    Опции темы
href
  Дата 9.5.2009, 15:27 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 25.10.2006
Где: Moscow

Репутация: нет
Всего: нет



У меня есть два метода с абсолютно одинаковым содержимым, но с разными типами передаваемых им параметров.

private string WriteNewSMS(Microsoft.WindowsMobile.PocketOutlook.SmsMessage sms)
private string WriteNewSMS(InTheHand.WindowsMobile.PocketOutlook.SmsMessage sms)

Подскажите, пожалуйста, как бы так сделать, чтобы не приходилось 2 раза писать одно и то же содержимое. 
При этом, по-простому сконвертировать  один тип в другой  не удаётся из-за необходимости записи в ReadOnly поля. 

Что делать?


PM MAIL WWW ICQ Skype GTalk   Вверх
Madonna
Дата 9.5.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Forbidden love...
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 22.1.2009
Где: Москва

Репутация: 1
Всего: 4



Цитата(href @  9.5.2009,  13:27 Найти цитируемый пост)
У меня есть два метода с абсолютно одинаковым содержимым, но с разными типами передаваемых им параметров.

Generics?
--------------------
Best regards, Madonna
PM   Вверх
NightmareZ
Дата 9.5.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006

Репутация: 1
Всего: 13



Тела методов покажи.


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
href
Дата 9.5.2009, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 25.10.2006
Где: Moscow

Репутация: нет
Всего: нет



Цитата(NightmareZ @ 9.5.2009,  15:49)
Тела методов покажи.

Код

        private string WriteNewSMS(Microsoft.WindowsMobile.PocketOutlook.SmsMessage sms)
        {
            XElement XSMSHistory = XElement.Load(filenameSMSHistory);

            string GUID = System.Guid.NewGuid().ToString();

            XSMSHistory.Add(new XElement("SMS",
                            new XAttribute("GUID", GUID),
                            new XAttribute("From", sms.From.Address),
                            new XAttribute("SendDateTime", sms.LastModified),
                            new XAttribute("ReceivedDateTime", sms.Received),
                            new XAttribute("Text", sms.Body)
                ));
            XSMSHistory.Save(filenameSMSHistory);
            return GUID;
        }

        private string WriteNewSMS(InTheHand.WindowsMobile.PocketOutlook.SmsMessage sms)
        {
            XElement XSMSHistory = XElement.Load(filenameSMSHistory);

            string GUID = System.Guid.NewGuid().ToString();

            XSMSHistory.Add(new XElement("SMS",
                            new XAttribute("GUID", GUID),
                            new XAttribute("From", sms.From.Address),
                            new XAttribute("SendDateTime", sms.LastModified),
                            new XAttribute("ReceivedDateTime", sms.Received),
                            new XAttribute("Text", sms.Body)
                ));
            XSMSHistory.Save(filenameSMSHistory);
            return GUID;
        }        

PM MAIL WWW ICQ Skype GTalk   Вверх
Neox_GeForce
Дата 9.5.2009, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



сделай приведение типов между Microsoft.WindowsMobile.PocketOutlook.SmsMessage и InTheHand.WindowsMobile.PocketOutlook.SmsMessage.
И вызивай одни метод только.


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Partizan
Дата 9.5.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 8
Всего: 67



Neox_GeForce, какое приведение типов?


href, если у обоих классов есть общий базовый, содержащий все необходимые свойства, то логично было бы входной параметр сделать именно базового типа...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Bishop
Дата 12.5.2009, 10:35 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 3.6.2005
Где: Минск, Беларусь

Репутация: 3
Всего: 16



href, 
Код

private string WriteNewSMS(Microsoft.WindowsMobile.PocketOutlook.SmsMessage sms)
{
    WriteNewSMS(sms.From.Address, sms.LastModified, sms.Received, sms.Body);
}

private string WriteNewSMS(InTheHand.WindowsMobile.PocketOutlook.SmsMessage sms)
{
    WriteNewSMS(sms.From.Address, sms.LastModified, sms.Received, sms.Body);
}

private string WriteNewSMS(string address, string lastModi, string received, string body)
{
    XElement XSMSHistory = XElement.Load(filenameSMSHistory);

    string GUID = System.Guid.NewGuid().ToString();

    XSMSHistory.Add(new XElement("SMS",
                    new XAttribute("GUID", GUID),
                    new XAttribute("From", address),
                    new XAttribute("SendDateTime", lastModi),
                    new XAttribute("ReceivedDateTime", received),
                    new XAttribute("Text", body)
        ));
    XSMSHistory.Save(filenameSMSHistory);
    return GUID;
}

PM WWW ICQ   Вверх
href
Дата 26.5.2009, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 25.10.2006
Где: Moscow

Репутация: нет
Всего: нет



Цитата(Madonna @ 9.5.2009,  15:37)
Цитата(href @  9.5.2009,  13:27 Найти цитируемый пост)
У меня есть два метода с абсолютно одинаковым содержимым, но с разными типами передаваемых им параметров.

Generics?

спасибо. попробовал. но тут же возникла следующая проблема:
http://forum.vingrad.ru/forum/topic-260819...y1878880/0.html

Добавлено через 4 минуты и 27 секунд
Bishop, спасибо. так и сделал!
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0790 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.