- 1
- 2
- 3
- 4
protected override Type GetEntryType()
{
return typeof(ReportEntry);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+141
protected override Type GetEntryType()
{
return typeof(ReportEntry);
}
Код из реального проекта
krypt 21.01.2013 20:42 # +2
3.14159265 21.01.2013 21:09 # +3
krypt 21.01.2013 23:10 # 0
Ccik 21.01.2013 22:25 # 0
krypt 21.01.2013 23:10 # 0
absolut 22.01.2013 09:14 # 0
, что в данном случае равносильно библиотечному вызову GetType()
roman-kashitsyn 22.01.2013 10:37 # +1
absolut 22.01.2013 11:04 # 0
krypt 22.01.2013 13:06 # 0
absolut 22.01.2013 16:10 # 0
3.14159265 22.01.2013 16:27 # +1
Вот в первом шарпе не было женериков, например.
absolut 22.01.2013 16:48 # 0
bormand 22.01.2013 16:58 # 0
P.S. Кстати как там у монодевелопа сейчас со стабильностью? В прошлый раз, когда я его поставил, и хотел немного позаниматься шарпом, он крашился в рандомные моменты. После этого я во второй (и наверное последний) раз в жизни забил на шарп и его изучение.
govnomonad 22.01.2013 17:08 # 0
3.14159265 22.01.2013 17:22 # +3
JVM надежная, проверенная временем и довольно быстрая . А шарп - это кроссплафторменность только в рамках вендоплатформы и хорошая работа в связке мс-продуктами.
> забил на шарп и его изучение
Правильно, надо прислушиваться к дяде Столлману. Он хуйни не посоветует.
Ccik 22.01.2013 18:34 # −5
3.14159265 22.01.2013 18:48 # +3
Thus, the Java language as such is no longer a trap.
А посему отныне пользоваться жабой позволяется не только трапам.
Жду цитаты где он лучшего мнения о C#, то бишь рекомендует писать на нем незашкваренным кодерам.
Ccik 23.01.2013 12:01 # −2
3.14159265 23.01.2013 18:28 # +5
Не можешь в цитату - я помогу тебе:
http://www.fsf.org/news/dont-depend-on-mono
The problem is not unique to Mono; any free implementation of C# would raise the same issue. The danger is that Microsoft is probably planning to force all free C# implementations underground some day using software patents. This is a serious danger, and only fools would ignore it until the day it actually happens. We need to take precautions now to protect ourselves from this future danger.
This is not to say that implementing C# is a bad thing. Free C# implementations permit users to run their C# programs on free platforms, which is good. Ideally we want to provide free implementations for all languages that programmers have used.
The problem is not in the C# implementations. If we lose the use of C#, we will lose them too. That doesn't make them unethical, but it means that writing them and using them is taking a gratuitous risk.
We should systematically arrange to depend on the free C# implementations as little as possible. In other words, we should discourage people from writing programs in C#.
guest 25.01.2013 00:50 # 0
absolut 25.01.2013 09:54 # 0
guest 25.01.2013 15:57 # 0
Ccik 30.01.2013 16:00 # −1
guest 26.02.2013 02:16 # 0
absolut 22.01.2013 19:26 # 0
ну просто не надо было от кроссплатформености плясать, а юзать его под родные виндозные фреймворки
bormand 22.01.2013 20:18 # 0
UniXoiD 22.01.2013 18:52 # 0
absolut 22.01.2013 19:24 # +1
UniXoiD 22.01.2013 19:35 # 0
ReportEntry в частном случае это и есть TEntry
absolut 23.01.2013 09:10 # 0
И в дочерних не надо ничего доделывать по этому моменту.
krypt 22.01.2013 16:27 # +1
guest 22.01.2013 14:07 # −1
XmlSerializer serializer = new XmlSerializer(GetModelType());
....
var objData = serializer.Deserialize(stream);
Где GetModelType() - метод, аналогичный приведенному. Т.е. у меня в базовом классе тип для десериализации объекта определяется конкретным потомком.
Если кто подскажет, как сделать проще - буду благодарен.
bormand 22.01.2013 15:04 # 0
Здесь A - базовый класс, B - та самая модель, тип которой нам хочется знать внутри А, чтобы вызвать для нее десериализатор. Или там GetModelType() не всегда возвращает свой собственный тип?
P.S. С C# у меня плоховато, если ошибся - не ругайте ;)
roman-kashitsyn 22.01.2013 15:32 # 0
А у тебя есть этот объект - this. Видимо, отношение примерно как я и подумал: ModelMapper.GetModelType() == typeof(Model). К примеру, хотим десериализовать объект Model, которого, разумеется, ещё нет. По этому, в частности, модели по соглашению имеют дефолтные конструкторы, чтобы можно было сконструировать без параметров и десериализовать, хоть частенько это нарушает инкапсуляцию.
guest 26.02.2013 02:14 # 0
looks legit imho