<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5668469201064947576</id><updated>2011-07-08T14:28:31.454+03:00</updated><category term='run-time'/><category term='Visual Studio'/><category term='value'/><category term='control'/><category term='linq'/><category term='return'/><category term='Microsoft'/><category term='visual basic'/><category term='attribute'/><category term='web'/><category term='controls'/><category term='dynamic'/><category term='IIS'/><category term='vb'/><category term='ASP.NET'/><category term='cs'/><category term='entity'/><category term='time'/><category term='atributes'/><category term='csharp'/><category term='WinForm'/><category term='orm'/><category term='notepad'/><category term='exception'/><category term='design'/><category term='.net'/><category term='VS'/><category term='data'/><category term='Ciudatenii'/><title type='text'>Exersand .Net</title><subtitle type='html'>&lt;a href="http://danielseverin.blogspot.com"&gt;Here&lt;/a&gt;  is the english version.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dseverin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dseverin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Daniel Severin</name><uri>http://www.blogger.com/profile/10002461560920504189</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_MO-_dZJKpJc/SOPl_n2KQXI/AAAAAAAAADE/DBL2CPdC9jg/S220/2178369691_4ffff58748_m.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5668469201064947576.post-5220073217308742273</id><published>2010-04-02T17:40:00.004+03:00</published><updated>2010-04-06T19:26:32.259+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='exception'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='cs'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='run-time'/><category scheme='http://www.blogger.com/atom/ns#' term='csharp'/><title type='text'>Virtual member called in constructor</title><content type='html'>Folosesc ReSharper de o vreme încoace. Mi se pare foarte util și îti mărește considerabil viteza de a produce cod. Ce îmi place cel mai mult la ReSharper este faptul ca îți sugerează foarte bine că ceva nu e bine în ceea ce faci. Cu alte cuvinte dacă nu știi programare te învață el :). Eu totuși nu sunt de acord cu tot ce sugerează el, cum ar fi denumirea câmpurilor private cu underline (_field).&lt;br /&gt;&lt;br /&gt;Când am spus ca dacă nu știi programare te învață el, chiar așa și e.&lt;br /&gt;&lt;br /&gt;În una din zile încercasem o chestie experimentală în care să îmi fac o clasa de baza, care să apelez o metodă abstractă în constructor.&lt;br /&gt;&lt;br /&gt;Mi se părea extrem de logic ca să obligi pe cineva să implementeze o metodă care să fie folosită într-un mod bine definit de construcție. Cel puțin așa gândeam în momentul acela!&lt;br /&gt;&lt;br /&gt;Și am scris:&lt;br /&gt;&lt;br /&gt;abstract class Foo&lt;br /&gt;{&lt;br /&gt;    protected Foo()&lt;br /&gt;       {&lt;br /&gt;                DoSomething();&lt;br /&gt;        }&lt;br /&gt;        protected abstract void DoSomething();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Boo : Foo&lt;br /&gt;{&lt;br /&gt;        protected override void DoSomething()&lt;br /&gt;        {&lt;br /&gt;                // ... something&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;În momentul ăsta ReSharper-ul țipa "Virtual member called in constructor" și mă gândeam că aberează, ca în cazul ”default-urilor” lui, dar după ce am căutat pe google puțin despre chestia asta mi-am dat seama că făceam o prostie imensă. Prostia se poate descrie de o situație ca următoarea:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;abstract class Foo&lt;br /&gt;{&lt;br /&gt;        protected Foo()&lt;br /&gt;        {&lt;br /&gt;                DoSomething();&lt;br /&gt;        }&lt;br /&gt;        protected abstract void DoSomething();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Boo : Foo&lt;br /&gt;{&lt;br /&gt;        object myObject;&lt;br /&gt;&lt;br /&gt;        public Boo()&lt;br /&gt;        {&lt;br /&gt;                myObject = new object();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        protected override void DoSomething()&lt;br /&gt;        {&lt;br /&gt;                Console.WriteLine(myObject.GetHashCode());&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Instanțiind clasa Boo se obține NullReferenceException deoarece ordinea de apelare este următoarea:&lt;br /&gt;&lt;br /&gt;Foo.ctor() -&gt; Boo.DoSomething() -&gt; Boo.ctor()&lt;br /&gt;&lt;br /&gt;Deci în momentul în care se apelează DoSomething obiectul meu nu este instanțiat.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ca referinta am avut rapunsul unuia pe &lt;a href="http://stackoverflow.com/questions/119506/virtual-member-call-in-a-constructor"&gt;stackoverflow.com&lt;/a&gt; unde face referință la blogul lui &lt;a href="http://blogs.msdn.com/ericlippert/archive/2008/02/18/why-do-initializers-run-in-the-opposite-order-as-constructors-part-two.aspx"&gt;Eric Lippert&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5668469201064947576-5220073217308742273?l=dseverin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dseverin.blogspot.com/feeds/5220073217308742273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5668469201064947576&amp;postID=5220073217308742273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/5220073217308742273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/5220073217308742273'/><link rel='alternate' type='text/html' href='http://dseverin.blogspot.com/2010/04/virtual-member-called-in-constructor.html' title='Virtual member called in constructor'/><author><name>Daniel Severin</name><uri>http://www.blogger.com/profile/10002461560920504189</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_MO-_dZJKpJc/SOPl_n2KQXI/AAAAAAAAADE/DBL2CPdC9jg/S220/2178369691_4ffff58748_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5668469201064947576.post-7365416950995927903</id><published>2010-04-02T17:22:00.003+03:00</published><updated>2010-04-02T17:39:29.002+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ciudatenii'/><category scheme='http://www.blogger.com/atom/ns#' term='VS'/><category scheme='http://www.blogger.com/atom/ns#' term='exception'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='WinForm'/><category scheme='http://www.blogger.com/atom/ns#' term='run-time'/><category scheme='http://www.blogger.com/atom/ns#' term='csharp'/><title type='text'>Ciudatenii in Visual Studio</title><content type='html'>Săptămânile trecute am dat peste o "ciudățenie" în Visual Studio.&lt;br /&gt;&lt;br /&gt;Ceea ce m-a făcut să dau peste asta fusese lenea, lenea de a îmi face un proiect separat in care sa incerc ceva de genul class A {} class B:A {} și nu doar construcția acestor doua clase ci unde anume le-am poziționat.&lt;br /&gt;&lt;br /&gt;Intr-un fisier pentru o forma WinForm, Form1.cs am adăugat acele clase dummy la începutul fișierului exact după declararea namespace-ului. De compilat a compilat fără nici o problemă. Dar la run-time am obținut:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;System.Resources.MissingManifestResourceException was unhandled&lt;br /&gt;   Message="Could not find any resources appropriate for the specified  culture or the neutral culture.  Make sure  \"MyNameSpace.Form1.resources\" was correctly embedded or linked into  assembly \"MyNameSpace\" at compile time, or that all the satellite  assemblies required are loadable and fully signed."&lt;br /&gt;   Source="mscorlib"&lt;br /&gt;  StackTrace:&lt;br /&gt;       at  System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo  culture, Boolean createIfNotExists, Boolean tryParents)&lt;br /&gt;       at  System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo  culture, Boolean createIfNotExists, Boolean tryParents)&lt;br /&gt;       at  System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo  culture, Boolean createIfNotExists, Boolean tryParents)&lt;br /&gt;       at  System.Resources.ResourceManager.GetObject(String name, CultureInfo  culture, Boolean wrapUnmanagedMemStream)&lt;br /&gt;       at  System.Resources.ResourceManager.GetObject(String name)&lt;br /&gt;       at  MyNameSpace.Form1.InitializeComponent() in  D:\MyTests\MyNameSpace\MyNameSpace\Form1.Designer.cs:line 73&lt;br /&gt;        at MyNameSpace.Form1..ctor() in  D:\MyTests\MyNameSpace\MyNameSpace\Form1.cs:line 26&lt;br /&gt;       at  MyNameSpace.Program.Main() in  D:\MyTests\MyNameSpace\MyNameSpace\Program.cs:line 18&lt;br /&gt;       at  System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)&lt;br /&gt;        at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence  assemblySecurity, String[] args)&lt;br /&gt;       at  Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&lt;br /&gt;        at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&lt;br /&gt;        at System.Threading.ExecutionContext.Run(ExecutionContext  executionContext, ContextCallback callback, Object state)&lt;br /&gt;       at  System.Threading.ThreadHelper.ThreadStart()&lt;br /&gt;  InnerException: &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Asta se întâmplă pentru faptul că acel fisier Form1.cs are .designer.cs și probabil tot din caza unei leni fisierul este parsat aiurea. Cel putin asta e singura concluzie la care am ajuns fără să caut de ce se întâmplă asta și problema se rezolvă mutând acea clasă (clase) care erau în fața clasei Form1 la sfârșitul namespace-ului.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5668469201064947576-7365416950995927903?l=dseverin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dseverin.blogspot.com/feeds/7365416950995927903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5668469201064947576&amp;postID=7365416950995927903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/7365416950995927903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/7365416950995927903'/><link rel='alternate' type='text/html' href='http://dseverin.blogspot.com/2010/04/ciudatenii-in-visual-studio.html' title='Ciudatenii in Visual Studio'/><author><name>Daniel Severin</name><uri>http://www.blogger.com/profile/10002461560920504189</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_MO-_dZJKpJc/SOPl_n2KQXI/AAAAAAAAADE/DBL2CPdC9jg/S220/2178369691_4ffff58748_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5668469201064947576.post-7102509135733061058</id><published>2008-11-11T20:37:00.005+02:00</published><updated>2008-11-11T20:53:06.082+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='control'/><category scheme='http://www.blogger.com/atom/ns#' term='VS'/><category scheme='http://www.blogger.com/atom/ns#' term='time'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='controls'/><title type='text'>Incercam sa ma invinovatesc...</title><content type='html'>Imi incercam noua componenta web (server side). Totul mergea exact cum planuisem pana cand am aruncat o privire in designer. &lt;br /&gt;Deoarece ma interesa partea functionala mai mult nu ma ingrijoram asa tare de modul in care arata la design time, si surprinzator afisa o eroare de genul:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;b&gt;Error creating control -&lt;/b&gt; MyControl&lt;br /&gt;'MyCssClass' &lt;b&gt;could not be set on property&lt;/b&gt; 'CssClass'&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Primul gand care mi-a trecut prin cap a fost "Am gresit!". Dar unde?&lt;br /&gt;Dupa ce am cautat putin pe google am gasit niste baieti care  discutau pe aceeasi problema. &lt;a href="http://forums.asp.net/t/1131118.aspx"&gt;Problema lor&lt;/a&gt; s-a oprit la &lt;code&gt;EnsureChildControls()&lt;/code&gt;. A mea nu.&lt;br /&gt;&lt;br /&gt;Cautand in continuare pentru mai multe informatii am descoperit ca nu eu gresisem defapt. Defapt gasisem un bug in Visual Studio. Bug-ul a fost semnalat &lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=361826"&gt;aici&lt;/a&gt; la Microsoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5668469201064947576-7102509135733061058?l=dseverin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dseverin.blogspot.com/feeds/7102509135733061058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5668469201064947576&amp;postID=7102509135733061058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/7102509135733061058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/7102509135733061058'/><link rel='alternate' type='text/html' href='http://dseverin.blogspot.com/2008/11/incercam-sa-ma-invinovatesc.html' title='Incercam sa ma invinovatesc...'/><author><name>Daniel Severin</name><uri>http://www.blogger.com/profile/10002461560920504189</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_MO-_dZJKpJc/SOPl_n2KQXI/AAAAAAAAADE/DBL2CPdC9jg/S220/2178369691_4ffff58748_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5668469201064947576.post-6551392045010793045</id><published>2008-10-05T21:03:00.000+03:00</published><updated>2008-10-05T21:32:24.122+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='VS'/><category scheme='http://www.blogger.com/atom/ns#' term='cs'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='visual basic'/><category scheme='http://www.blogger.com/atom/ns#' term='notepad'/><category scheme='http://www.blogger.com/atom/ns#' term='csharp'/><title type='text'>Programand ASP.NET cu Notepad.exe</title><content type='html'>Prima mea experienta cu aplicatiile web a fost cu pagini JSP, si prima mea aplicatie a fost, bineinteles, clasica ""Hello World" si arata asa:&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ page contentType="text/html;charset=WINDOWS-1252"%&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;=&lt;span class="str"&gt;"Hello World"&lt;/span&gt;&lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;Aceasta aplicatie o scrisesem in Notepad si am facut deploy la ea pe un server Apache Tomcat Server. Acest lucru, pentru mine, insemna ca nu ai nevoie de un compilator pentru a edezvolta o aplicatie simpla si dinamica. Ceea ce era ceva &lt;code&gt;cool&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Astazi faceam deploy la o aplicatie ASP.NET si am observat ca toate fisierele ASPX contineau doar textul:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;This is a marker file generated by the precompilation tool, and should not be deleted!&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;si ma intrebam.... “Poti programa aplicatii ASP.NET fara Visual Studio, folosind orice editor de text si facandu-i deploy manual fara nici o compilare?”.&lt;br /&gt;&lt;br /&gt;Deci am incercat.&lt;br /&gt;Am creat un folder.&lt;br /&gt;Am mapat folder-ul pe serverul IIS.&lt;br /&gt;Am creat un fisier aspx nou ce continea:&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Page %&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;=&lt;span class="str"&gt;"Hello World!"&lt;/span&gt;&lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;An descis browser-ul si am navidat la adresa &lt;code&gt;http://localhost/MyFolder/Default.aspx&lt;/code&gt; . In browser am obtinut mesajul  &lt;code&gt;Hello World!&lt;/code&gt;.&lt;br /&gt;Pentru a face totusi aceasta pagina putin mai complicata am modificat pagina Default.aspx pentru a face ceva dinamic, ceva ca un calcul. Cred ca &lt;code&gt;1 + 1&lt;/code&gt; e destul:&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Page %&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;=&lt;span class="str"&gt;"1+1="&lt;/span&gt; + (1+1).ToString()&lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;si rezultatul fiind evident &lt;code&gt;1+1=3&lt;/code&gt; :).&lt;br /&gt;&lt;br /&gt;Deci daca cineva se incumeta sa dezvolte aplicatii ASP.NET poate folosi doar Notepad-ul si un server IIS.&lt;br /&gt;&lt;br /&gt;... dar totusi te afli in .net, nu in Java unde limbajul de default (si singurul) este Java. Care limbaj este libajul implicit pentru acesta pagina simpla? Cea mai rapida metoda pentru a afla: scriu repde ceva in c# si vad ce afiseaza.&lt;br /&gt;&lt;br /&gt;Noua pagina Default.aspx&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Page %&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="kwrd"&gt;for&lt;/span&gt;(&lt;span class="kwrd"&gt;int&lt;/span&gt; i=0 ; i&amp;lt;5 ; i++) { } &lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;BODY&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HTML&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;Rezultatul:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Compiler Error Message: BC30084: 'For' must end with a matching 'Next'.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Uitandu-ma in &lt;code&gt;Detailed Compiler Output&lt;/code&gt;, am vazut cine este compilatorul de default al aplicatiilor asp.net "&lt;code&gt;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe&lt;/code&gt;" (visual basic compiler).&lt;br /&gt;Adaugand atributul language la directiva page si indicand limbajul corect folosit in pagina totul va compila OK.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5668469201064947576-6551392045010793045?l=dseverin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dseverin.blogspot.com/feeds/6551392045010793045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5668469201064947576&amp;postID=6551392045010793045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/6551392045010793045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/6551392045010793045'/><link rel='alternate' type='text/html' href='http://dseverin.blogspot.com/2008/10/programand-aspnet-cu-notepadexe.html' title='Programand ASP.NET cu Notepad.exe'/><author><name>Daniel Severin</name><uri>http://www.blogger.com/profile/10002461560920504189</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_MO-_dZJKpJc/SOPl_n2KQXI/AAAAAAAAADE/DBL2CPdC9jg/S220/2178369691_4ffff58748_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5668469201064947576.post-5473932029589181462</id><published>2008-10-05T20:54:00.000+03:00</published><updated>2008-10-05T21:22:38.944+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='atributes'/><category scheme='http://www.blogger.com/atom/ns#' term='value'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='return'/><category scheme='http://www.blogger.com/atom/ns#' term='cs'/><category scheme='http://www.blogger.com/atom/ns#' term='attribute'/><category scheme='http://www.blogger.com/atom/ns#' term='csharp'/><title type='text'>Decorarea return-ului!</title><content type='html'>Atunci cand am descoperit .net-ul am descoperit si atributele, si din cauza ca eu sunt inclinat spre paretea practica a lucrurilor (si mai putin cele teoretice) nu mi-a atras atentia niciodata ca poti folosi atributele si la decorarea unei valori intoarse de o metoda. Intr-o zi am dat peste enum-ul &lt;code&gt;AttributeTargets&lt;/code&gt; si dupa ce am vazut valoarea &lt;code&gt;ReturnValue&lt;/code&gt; mi-am dat seama ca nu stiu cum se poate decora asa ceva. Dupa ce am cautat putin pe Google un exemplu am gasit ceva de genul asta:&lt;pre class="csharpcode"&gt;[&lt;span class="type"&gt;MethodAtr&lt;/span&gt;(Params...)]&lt;br /&gt;[&lt;span class="kwrd"&gt;return&lt;/span&gt;: &lt;span class="type"&gt;ReturnAtr&lt;/span&gt;(Params...)]&lt;br /&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="type"&gt;SomeType&lt;/span&gt; MyMethod(&lt;br /&gt; [&lt;span class="type"&gt;ParamAtr&lt;/span&gt;(Params...)]&lt;br /&gt; &lt;span class="type"&gt;SomeOtherType&lt;/span&gt; myParam)&lt;br /&gt;{&lt;br /&gt; &lt;span class="kwrd"&gt;return&lt;/span&gt; someValue;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Unde &lt;code&gt;[&lt;span style="font-weight: bold;"&gt;return&lt;/span&gt;: ReturnAtr(Params...)]&lt;/code&gt; este modul in care decorezi o valoare de &lt;code&gt;return&lt;/code&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5668469201064947576-5473932029589181462?l=dseverin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dseverin.blogspot.com/feeds/5473932029589181462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5668469201064947576&amp;postID=5473932029589181462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/5473932029589181462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/5473932029589181462'/><link rel='alternate' type='text/html' href='http://dseverin.blogspot.com/2008/10/decorarea-return-ului.html' title='Decorarea &lt;i&gt;return&lt;/i&gt;-ului!'/><author><name>Daniel Severin</name><uri>http://www.blogger.com/profile/10002461560920504189</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_MO-_dZJKpJc/SOPl_n2KQXI/AAAAAAAAADE/DBL2CPdC9jg/S220/2178369691_4ffff58748_m.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5668469201064947576.post-8126367030390224938</id><published>2008-10-05T20:49:00.000+03:00</published><updated>2008-10-05T20:54:31.919+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dynamic'/><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='entity'/><category scheme='http://www.blogger.com/atom/ns#' term='orm'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><category scheme='http://www.blogger.com/atom/ns#' term='cs'/><category scheme='http://www.blogger.com/atom/ns#' term='csharp'/><title type='text'>ASP.NET Dynamic Data si alte ORM-uri</title><content type='html'>Cautand daca cu ASP.NET Dynamic Data se pot folosi si alte ORM-uri inafara de EF (Entity Framework) si LINQ to SQL, am dat peste metoda &lt;code&gt;ValidDataContextType&lt;/code&gt; din clasa &lt;code&gt;System.Web.DynamicData.ModelProviders.SchemaCreator&lt;/code&gt;. Corpul metodei arata asa si cred ca spune totul despre extensibilitatea spre alte ORM-uri:&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;virtual&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; ValidDataContextType(&lt;span class="type"&gt;Type&lt;/span&gt; contextType){&lt;br /&gt;      &lt;span class="kwrd"&gt;if&lt;/span&gt; (!IsDataContext(contextType)){&lt;br /&gt;             &lt;span class="kwrd"&gt;return&lt;/span&gt; IsObjectContext(contextType);&lt;br /&gt;      }&lt;br /&gt;      &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;br /&gt;}&lt;/pre&gt;Singurile DataContext-uri valide sunt &lt;code&gt;System.Data.Linq.DataContext&lt;/code&gt; sau &lt;code&gt;System.Data.Objects.ObjectContext&lt;/code&gt;. Deci daca vrei sa extinzi ASP.NET Dynameic Data poti face asta doar prin implementarea unui provider de LINQ2 sau EF. &lt;a href="http://weblogs.asp.net/fbouma/archive/2008/05/01/dynamic-data-and-3rd-party-o-r-mappers-is-a-fact.aspx"&gt;Aici&lt;/a&gt;, Frans Bouma ofera mai multe informatii referitoare la aceasta problema.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5668469201064947576-8126367030390224938?l=dseverin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dseverin.blogspot.com/feeds/8126367030390224938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5668469201064947576&amp;postID=8126367030390224938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/8126367030390224938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5668469201064947576/posts/default/8126367030390224938'/><link rel='alternate' type='text/html' href='http://dseverin.blogspot.com/2008/10/aspnet-dynamic-data-si-alte-orm-uri.html' title='ASP.NET Dynamic Data si alte ORM-uri'/><author><name>Daniel Severin</name><uri>http://www.blogger.com/profile/10002461560920504189</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_MO-_dZJKpJc/SOPl_n2KQXI/AAAAAAAAADE/DBL2CPdC9jg/S220/2178369691_4ffff58748_m.jpg'/></author><thr:total>0</thr:total></entry></feed>
