Поможите перевести код

Язык C#: программирование на C#, портирование кода C# на VB и VB на C#.

Модератор: Ramzes

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Поможите перевести код

Сообщение Roman Koff » 25.09.2008 (Чт) 23:20

Можно ли перевести такой код на Vb?
Вопрос относится к T, например как перевести public static T XmlStr2Obj<T>(string xml)
Код: Выделить всё
public static T XmlStr2Obj<T>(string xml)
{
    if (xml == null) return default(T);
    if (xml == string.Empty) return (T)Activator.CreateInstance(typeof(T));
    StringReader reader = new StringReader(xml);
    XmlSerializer sr = new XmlSerializer(typeof(T)); //SerializerCache.GetSerializer(type);
    return (T)sr.Deserialize(reader);
}
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Atoman
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 109
Зарегистрирован: 01.02.2008 (Пт) 6:36

Re: Поможите перевести код

Сообщение Atoman » 26.09.2008 (Пт) 8:30

Код: Выделить всё
    Public Shared Function XmlStr2Obj(Of T)(ByVal xml As String) As T
        If xml Is Nothing Then
            Return Nothing
        End If
        If xml = String.Empty Then
            Return DirectCast(Activator.CreateInstance(GetType(T)), T)
        End If
        Dim reader As New System.IO.StringReader(xml)
        Dim sr As New XmlSerializer(GetType(T))
        'SerializerCache.GetSerializer(type);
        Return DirectCast(sr.Deserialize(reader), T)
    End Function

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Поможите перевести код

Сообщение Roman Koff » 26.09.2008 (Пт) 9:33

Спасибо!!!

Еще вопрос в догонку, есть ли аналог конструкции lock?

Код: Выделить всё
private static Hashtable hash = new Hashtable();
public static XmlSerializer GetSerializer(Type type)   {
    XmlSerializer res = null;
    lock(hash)   {
        res = hash[type.FullName] as XmlSerializer;
        if(res == null)   {
            res = new XmlSerializer(type);
            hash[type.FullName] = res;
        }
    }
    return res;
}
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Atoman
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 109
Зарегистрирован: 01.02.2008 (Пт) 6:36

Re: Поможите перевести код

Сообщение Atoman » 26.09.2008 (Пт) 10:36

Код: Выделить всё
SyncLock hash
'...
End SyncLock


Вернуться в C#

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

    TopList