-
VCL можно исследовать в коде на Delphi и asm, а вот FCL можно исследовать в коде на C#? знаю, что C# лишь один из .NET совместимых языков, но слышал что FCL написана на C# не в IL-е же изучать FCL...хотя Рихтер так делает...
-
-
не знаю не увидел чтобы там что-то было то, что мне нужно хотя, например, тот же класс WeakReference в реализации на C# я себе не представляю, зная его внутреннее устройство, описанное у Рихтера а то плохо иногда без исходников вот, например, метод Array.Sort в описании не сказано как ведётся сортировка, отсюда и применение его в критических случаях сомнительно
-
> хотя, например, тот же класс WeakReference в реализации на C# я себе не представляю, зная его внутреннее устройство, описанное у Рихтера
/*============================================================
**
** Class: WeakReference
**
** Purpose: A wrapper for establishing a WeakReference to an Object.
**
===========================================================*/
namespace System
//Creates a new WeakReference that keeps track of target.
//
public WeakReference(Object target, bool trackResurrection)
protected WeakReference(SerializationInfo info, StreamingContext context)
Object temp = info.GetValue(\"TrackedObject\",typeof(Object));
m_IsLongReference = info.GetBoolean(\"TrackResurrection\");
m_handle = GCHandle.InternalAlloc(temp,
m_IsLongReference ? GCHandleType.WeakTrackResurrection : GCHandleType.Weak);
}
//Determines whether or not this instance of WeakReference still refers to an object
//that has not been collected.
//
public virtual bool IsAlive
}
//Returns a boolean indicating whether or not we're tracking objects until they're collected (true)
//or just until they're finalized (false).
public virtual bool TrackResurrection
}
// Or sets it.
//
public virtual Object Target t get finalized while we're
// in this method.
h = Thread.VolatileRead(ref m_handle);
GC.KeepAlive(this);
return (h == IntPtr.Zero) ? null : o;
}
set t have any handle recycling attacks in this
GC.KeepAlive(this);
}
}
~WeakReference()
}
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
info.AddValue("TrackedObject", Target, typeof(Object));
info.AddValue("TrackResurrection", m_IsLongReference);
}
}
}
-
> вот, например, метод Array.Sort в описании не сказано как ведётся сортировка, отсюда и применение его в критических случаях сомнительноArray.Sort Method..bla-bla-bla... RemarksEach element of array must implement the IComparable interface to be capable of comparisons with every other element in array. If the sort is not successfully completed, the results are undefined. This method uses the QuickSort algorithm. This implementation performs an unstable sort; that is, if two elements are equal, their order might not be preserved. In contrast, a stable sort preserves the order of elements that are equal. On average, this method is an O(n log n) operation, where n is the Length of array; in the worst case it is an O(n ^ 2) operation. (c) http://msdn2.microsoft.com/en-us/library/6tf1f0bc.aspx
-
Lamer@fools.ua © (29.08.06 14:27) [4] хех в моём мсдн такого не написано... что блин всегда в инет за описанием лазить.... Lamer@fools.ua © (29.08.06 14:27) [3] так значит в [1] исходники есть да?
-
>хех в моём мсдн такого не написано... что блин всегда в инет за описанием лазить....
У меня то, что выдрано для [4], есть и в локальном MSDN ( ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref2/html/M_System_Array_Sort_1_6f8a45d6.htm ) Обновите, и будет счастье.
>так значит в [1] исходники есть да?
А почитать текст по ссылке? Brief Description The Shared Source CLI is a compressed archive of the source code to a working implementation of the ECMA CLI and the ECMA C# language specification. This implementation builds and runs on Windows XP.
Само собой, что там не будет вещей специфичных для Windows, например, типов из пространства имён System.Windows.Forms, поскольку это CLI, а не конкретная реализация, каковой является .NET Framework для Windows.
-
Lamer@fools.ua © (29.08.06 15:40) [6] спасибо, завтра скачаю
-
>>default © (29.08.06 15:51) [7]
Могу выложить в виде solid rar'а. Тогда будет ~14-15 MB вместо ~21 MB. Аська в анкете.
-
Lamer@fools.ua © (29.08.06 15:55) [8] спасибо, завтра по асе свяжусь
-
>> default ©[offtopic] Ну что, скачали? [/offtopic]
-
Lamer@fools.ua © (06.09.06 15:17) [10] скачал а куда ты выложил я так и не понял:)
-
-
Lamer@fools.ua © (08.09.06 07:37) [12] тогда пардон мне подобное сообщение не приходило:( (не мог же я его пропустить...)
-
Хммм...
Оффтопик. Ну ладно уже. Какой ICQ-клиент и версия?
-
Lamer@fools.ua © (08.09.06 23:30) [14] ICQ2003a
-
У меня Miranda 0.5 Unicode и жалоб от других людей не поступало, что сообщения пропадали, не было. Странно...
-
", не было" - лишнее :-)
-
Ради интереса занимался декомпилированием FCL, в частности Windows.Forms на C# - ИМХО код чем-то похож на VCL.
|