|
In "verticale":
Il metodo del Framework con il corpo più lungo (sia per la versione 1.1 che per la 2.0) è il metodo pubblico void Go() della classe internal System.Web.RegularExpressions.TagRegexRunner1 che si trova nell'assembly System.Web.RegularExpressions.dll; il suo corpo in IL ha 5770 bytes, che corrispondono a 862 righe di codice C# in Reflector! - posso dire pazzesco?...
Se invece consideriamo solo i metodi pubblici dei tipi pubblici, abbiamo:
E ieri parlavo del Composite Method...
In "orizzontale":
Il metodo del Framework con più parametri:
- per la versione 2.0 è il metodo pubblico XsltInput.ContextInfo GetAttributes(int required, string name0, out string value0, string name1, out string value1, string name2, out string value2, string name3, out string value3, string name4, out string value4, string name5, out string value5, string name6, out string value6, string name7, out string value7, string name8, out string value8, string name9, out string value9) della classe internal System.Xml.Xsl.Xslt.XsltInput che si trova nell'assembly System.Data.SqlXml.dll; ha 21 parametri!
- per la versione 1.1 è il metodo internal statico esterno void Trace(IntPtr hID, UIntPtr src, UIntPtr info, string fmtPrintfW, IntPtr a1, IntPtr a2, string a3, int a4, IntPtr a5, int a6, int a7, IntPtr a8, int a9, IntPtr a10, int a11, IntPtr a12, uint a13, IntPtr a14, int a15) della classe statica privata NativeMethods annidata alla classe internal statica Bid che si trova nell'assembly System.Data.OracleClient.dll; ha 19 parametri!
Se invece consideriamo solo i metodi pubblici dei tipi pubblici, abbiamo che:
- per la versione 2.0, il metodo pubblico void AddServerTlb(string progId, string classId, string interfaceId, string srcTlbPath, string rootWebServer, string inBaseUrl, string inVirtualRoot, string clientActivated, string wellKnown, string discoFile, string operation, out string strAssemblyName, out string typeName) della classe pubblica System.EnterpriseServices.Internal.SoapServerTlb che si trova nell'assembly System.EnterpriseServices.dll, ha 13 parametri! (non ho considerato gli assembly vjswfc.dll e vjslib.dll)
- per la versione 1.1, il metodo pubblico statico void DrawBorder(Graphics graphics, Rectangle bounds, Color leftColor, int leftWidth, ButtonBorderStyle leftStyle, Color topColor, int topWidth, ButtonBorderStyle topStyle, Color rightColor, int rightWidth, ButtonBorderStyle rightStyle, Color bottomColor, int bottomWidth, ButtonBorderStyle bottomStyle) della classe pubblica System.Windows.Forms.ControlPaint che si trova nell'assembly System.Windows.Forms.dll, ha 14 parametri!
Il mio connazionale Ovidiu Platon, SDE nel team del CLR, offiriva nei giorni scorsi sul suo blog un esempio simile però meno estremo.
|