- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
private bool IsSubscriptionFree()
{
try
{
if (AccountManager.CurrentManager.CurrentSubscription != null)
{
if (AccountManager.CurrentManager.CurrentSubscription.IsValid)
{
if (AccountManager.CurrentManager.CurrentSubscription.Name.ToLower().Contains("free") ||
AccountManager.CurrentManager.CurrentSubscription.Name.ToLower().Contains("trial")
)
{
return true;
}
}
return false;
}
return false;
}
catch (Exception)
{
return false;
}
}
kegdan 25.06.2013 19:00 # 0
{
var someShit = AccountManager.CurrentManager.CurrentSub scription;
return (someShit != null) && (someShit.IsValid) && (someShit.Name.ToLower().Contains("free" )
||someShit.Name.ToLower().Contains("tria l"));
}
Как то так?
В задачу не вникал, но вытаскивать из текста trial оно или нет - это круто
Catch убрал из соображений, что ошибка тут может быть только kind of magic
scriptin 25.06.2013 19:04 # +5
ВНЕЗАПНО AccountManager.CurrentManager.CurrentSub scription.Name ОКАЗАЛОСЬ NULL IsValid БРОСАЕТ InvalidSubscriptionException КРОВЬ КИШКИ БУДЕШЬ ЗНАТЬ КАК УБИРАТЬ TRY/CATCH
kegdan 25.06.2013 19:13 # 0
santa_microbe 25.06.2013 19:24 # 0
kegdan 25.06.2013 19:41 # 0
kegdan 25.06.2013 19:50 # 0
scriptin 25.06.2013 20:44 # 0
kegdan 25.06.2013 21:58 # +2
santa_microbe 26.06.2013 06:13 # 0
kegdan 26.06.2013 07:23 # 0
private double _angle;
public double Angle
{
set
{
var k = value;
if (Math.Abs(k) > 360) k = k % 360;
if (k < 0) k += 360;
_angle = k;
}
get { return _angle; }
}
А если при обращению к полю в объекте происходит что-то страшное - это сатанизм, пишите методы, которые наглядно объясняют суть происходящего.
В данном конкретном случае эксепшен означает, что обьект не валиден, и метод IsValid должен вернуть false. Ибо здравый смысл
TauSigma 03.07.2013 20:47 # 0
System.Threading.Tasks.Task<TResult>:
bormand 03.07.2013 21:28 # +1
kegdan 04.07.2013 12:46 # +1
TauSigma 04.07.2013 16:54 # 0
К примеру вот такой код:
Всё равно может выбросить исключение AggregateException при обращении к проперти Result.
Для интереса, содержимое проперти IsFauted: (Сравните с кодом Result выше)
bormand 04.07.2013 16:58 # 0
Wodoo magic.
kegdan 04.07.2013 17:06 # 0
TauSigma 04.07.2013 17:23 # 0
Может, стоит разработчикам рассказать про енумы и атрибут Flags...
bormand 04.07.2013 17:25 # +1
Да хотя бы в хексе это писали бы... В десятичном это смотрится ужасно.
kegdan 04.07.2013 17:31 # 0
Зачем они вообще нужны? Почему их не описать статично в каком нибудь общедоступном классе?
Я чувствую, что грибы были несвежие)
TauSigma 04.07.2013 18:02 # 0
TauSigma 04.07.2013 18:05 # 0
kegdan 04.07.2013 17:36 # 0
internal const int TASK_STATE_FAULTED = 2097152;
а
// 2097152 is TASK_STATE_FAULTED
один фиг не использует поле
Так оно еще мало того internal, но что то мне подсказывает, что везде в сборке стоит 2097152
eth0 26.06.2013 06:17 # +5
"В этой" же, женский род, как-никак.
scriptin 26.06.2013 18:27 # 0
defecate-plusplus 26.06.2013 18:29 # +4
гетера - женский
что непонятного то?
absolut 26.06.2013 22:13 # +3
kegdan 26.06.2013 18:29 # +1
Eugene 26.06.2013 09:45 # 0
я бы сделал вот так:
менее производительно - это очевидно, но зато более читаемо
anonimb84a2f6fd141 26.06.2013 10:15 # 0
kegdan 26.06.2013 10:18 # −1
Никогда не занимался распарсиванием свойств из строки - enum флагов - гораздо удачнее
anonimb84a2f6fd141 04.07.2013 18:35 # 0
Пц парсер