Itt a finally nagyobb úr :) public Product GetInteger() { Product result = new Product(); try { result.ID = 3; return result; } finally { result.ID = 2; } }
Ez azért nem annyira bonyolult. A teljes return sor kiértékelődik, majd a finally fut le. Mivel a result value típus, ezért a finally nem a viszaadandó másolatot módosítja.
surex példájában is ugyanaz a lefutás van, csak ott persze a hívó már az ID=2-t fogja látni, de a return értéken, azaz a referencián nem változtat a finally.
Referencia típusnál is mindig ugyanaz a példány lesz visszaadva (a fenti példánál maradva, a finally-ban egy result = new Product() "hatástalan" lenne), viszont az adott referencia által mutatott példány tulajdonságai módosíthatóak. A string-nél - mivel a .NET-ben immutable - ez merőben teoretikus lehetőség. :)
Google Translate Based Resource Provider http://www.codeplex.com/GTBResourceProvider
Egy alternatív ASP.NET Resource provider implementáció, ami a hiányzó lokalizált sztring erőforrásokat automatikusan lefordítja a Google Translate szolgáltatása, illetve annak .NET API-ja segítségével.
7 megjegyzés: