Istället för att föstöra objektet kan du kasta en exception ifrån det. Därefter skapar du ett objektet om det ej blev en exception, medans du inte skapar det om det blev någe.
Exception skapar du i C# med:
throw new ApplicationException("Dont create this instance");
För att skapa objektet kan man göra så här i C#
try{
myObject obj = new object();
//det är nu skapat och vi kan göra grejer med det
obj.Grejer();
}
catch(ApplicationException){
//objektet skapades ej och vi kan göra grejer utifrån detta
}
Sånånting..
Sen tar GC hand om att tabort den data som lades på stacken och objekt strukturen som lades på heapen (om det ej finns nått annat objekt som använder denna) när detta behövs. Detta sköts automatiskt och du ska ej behöva tänka på detta förrän du har ett väldigt stort objekt.