-
+116
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
public class TObjects
{
public delegate T DeferredConstruction<out T>();
public static void Dispose<T>(ref T objectForDispose)
{
var typeOfObjectForDispose = typeof(T);
if (!typeOfObjectForDispose.IsClass)
DisposeIfIDisposable(ref objectForDispose, typeOfObjectForDispose);
else
if (!Equals(objectForDispose, null))
DisposeIfIDisposable(ref objectForDispose, typeOfObjectForDispose);
objectForDispose = default(T);
//objectForDispose = (T)(object)(null);
}
public static void Create<T>(ref T objectForCreate, DeferredConstruction<T> newObject)
{
Dispose(ref objectForCreate);
objectForCreate = newObject();
}
private static void DisposeIfIDisposable<T>(ref T objectForDispose, Type typeOfObjectForDispose)
{
bool canDisposable = (objectForDispose as IDisposable) != null;
if (canDisposable)
{
var dispose = typeOfObjectForDispose.GetMethod("Dispose");
dispose.Invoke(objectForDispose, new object[] { });
}
}
}
Говногость,
03 Февраля 2011
-
+128
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
public class TDebug
{
public static void Assert(bool condition)
{
System.Diagnostics.Debug.Assert(condition);
#if DEBUG
if(!condition)
throw new Exception();
#endif
}
}
Говногость,
03 Февраля 2011
-
+127
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
class TStopThreadWaiter
{
public static void Wait(Thread threadWaitededForStop)
{
var threadName = threadWaitededForStop.GetType().Name;
if (!threadWaitededForStop.Join(1000))
{
TErrorShower.ShowOnceIfAgree("Неудаёться остановить " + threadName + " поток. Будут предприняты попытки внештатной остановки.");
if (!threadWaitededForStop.Join(200))
threadWaitededForStop.Interrupt();
if (!threadWaitededForStop.Join(200))
{
TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Interrupt. Предпринимаю попытку принудительной остановки через Abort.");
threadWaitededForStop.Abort();
if (!threadWaitededForStop.Join(200))
{
TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Abort. Завершаем приложение.");
Application.Exit();
}
};
};
}
}
Говногость,
03 Февраля 2011
-
+136
- 1
- 2
- 3
- 4
- 5
- 6
- 7
while (f != null && !string.IsNullOrEmpty(f.FileName) && f.ContentLength != 0)
{
if (f != null && !string.IsNullOrEmpty(f.FileName) && f.ContentLength != 0)
{
// ...
}
}
Проверка на всякий случай
ReallyBugMeNot,
02 Февраля 2011
-
+128
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
//Hint: We have added one more overload to the method Load/LoadBinary/LoadSoap to achieve your requirement. Please refer the below code snippet.
Exception ex = null;
diagram1.LoadBinary(@"..\\..\\Basic Shapes.edp",out ex);
if (ex != null)
{
//Do your customization here
}
индусский обработчик исключений.
поддержка исключений в их компонент была добавлена по нашей просьбе.
kjuby2,
01 Февраля 2011
-
+121
- 1
- 2
- 3
- 4
- 5
- 6
public static T FirstOrDefault<T>(IEnumerable<T> it)
{
foreach (T v in it)
return v;
return default(T);
}
Самодельный FirstOrDefault.
Боюсь даже представить, как у автора будет выглядеть Single
bober_maniac,
31 Января 2011
-
+118
- 1
- 2
- 3
- 4
- 5
public static void Clear(string[] array)
{
int n = default(int);
Array.ForEach(array, element => array[n++] = String.Empty);
}
Смешались в кучу кони, люди...
bober_maniac,
31 Января 2011
-
+121
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
public SqlTransaction GetSqlTransaction(string pMd5)
{
if (_connection.State == ConnectionState.Closed)
{
try
{
_connection.Open();
}
catch (SqlException ex)
{
throw new ApplicationException("Unable to connect to database (" + _connection.DataSource + "/" + _connection.Database + "). Please contact your local IT administrator.", ex);
}
}
else
{
try
{
throw new ApplicationException("COUCOU");
}
catch (ApplicationException ex)
{
System.Diagnostics.Trace.WriteLine(ex.StackTrace);
}
sqlTransaction = _connection.BeginTransaction();
}
return sqlTransaction;
}
Код из очередного проекта. А надежда то на коннект все-равно остается! :)
_Ru55_,
31 Января 2011
-
+145
- 1
- 2
- 3
- 4
if (!'8'=='=')
{
//код
}
kasthack,
29 Января 2011
-
+146
- 1
- 2
- 3
- 4
- 5
- 6
- 7
//Мега-изобретательный, сцуко, флаг!
public static bool DONT_UPDATE_INPUTMANAGER = FACEPALM;
...
//Флаг выпилил, быстра блджад!!1
if (DONT_UPDATE_INPUTMANAGER) DONT_UPDATE_INPUTMANAGER = false;
Достаточно недавний мой высер, сделанный на обезумевшую от непоняток голову. Трабла была в том, что при перехода из одного в меню в другое второе меню так же воспринимало эту кнопку и шагало дальше, хотя цикл вроде прошёл и InputManager уже сбросился. Пришлось сделать вот таким вот флагом (правда до сих пор не могу понять КАК я умудрился такой if написать...).
P.S: Похожая фигня и у MS, см. CurveEditor (create.msdn.com -> education catalog -> tools -> CurveEditor -> переменная disableUIEvents (причём int!!!)).
RaZeR,
29 Января 2011