static void Main(string[] args) { //készítünk egy önmaga után eltakarító osztályt //var takarito = new ItselfCleaner(); //try //{ //} //finally //{ // ((IDisposable)takarito).Dispose(); //} using (var takarito = new ItselfCleaner()) {//ebben a kódblokkban van a védendő használat } }
static void Main(string[] args) { ////készítünk egy önmaga után rendet hagyó/maga után eltakarító osztályt //var takarito = new ItselfCleaner(); //try //megpróbálja a kódblokkot végrehajtani //{ // //elvégezzük a dolgunkat //} //finally //miután az előzőek lefutottak, akár hiba van akár nem, ez a kódblokk mindenképpen lefut //{ // //az IDisposable felület dispose függvényét használjuk // ((IDisposable)takarito).Dispose(); //} //hogy ne kelljen mindig ezt a sok kódot leírni, ezért //ilyen 'syntactic sugar' használatával a fordító generálja nekünk ugyanezt using (var takarito = new ItselfCleaner()) { //ebben a kódblokkban van a védendő használat } }
static void Main(string[] args) { ////we're going to make a self-cleaning class //var cleaner = new ItselfCleaner(); //try //attempts to execute the code block //{ // //we do our job //} //finally //after the above runs, whether it is an error or not, this code block will run in any case //{ // //the "Dispose()" function of the IDisposable interface is used // ((IDisposable)takarito).Dispose(); //} //so you do not always have to write that many codes, //so using this kind of 'syntactic sugar' the builder generates the same thing using (var cleaner = new ItselfCleaner()) { //this code block has a protected use } }