Hi,
Most of my Objects have a constructor like this "Public Sub New(ID as
Integer)".
But when this ID isn't valid, I end up with an instantiated object, that
doesn't contain values. Is there a way to kind of cancel the constructor
when it detects that there isn't an object with this ID?
The main reason is that I like to test on: "MyObject Is Nohting", but in
these case is isn't nothing, but doesn't contain any values...
Thanks a lot in advance,
Pieter 7 3964
Nope, you can't cancel the construction of the object. The correct thing to
do in this case is to throw an ArgumentException (or possibly
ArgumentOutOfRangeException)
/claes
"Pieter" <pi**********@hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl... Hi,
Most of my Objects have a constructor like this "Public Sub New(ID as Integer)". But when this ID isn't valid, I end up with an instantiated object, that doesn't contain values. Is there a way to kind of cancel the constructor when it detects that there isn't an object with this ID?
The main reason is that I like to test on: "MyObject Is Nohting", but in these case is isn't nothing, but doesn't contain any values...
Thanks a lot in advance,
Pieter
[FU2 microsoft.public.dotnet.general]
On Tue, 6 Jun 2006 17:20:19 +0200, Pieter wrote: Most of my Objects have a constructor like this "Public Sub New(ID as Integer)". But when this ID isn't valid, I end up with an instantiated object, that doesn't contain values. Is there a way to kind of cancel the constructor when it detects that there isn't an object with this ID?
The main reason is that I like to test on: "MyObject Is Nohting", but in these case is isn't nothing, but doesn't contain any values...
No, you can't "cancel" a constructor. However, if you detect that some
parameters passed to your constructor are invalid, you can throw an
exception such as e.g. ArgumentException or ArgumentOutOfRangeException
that can be then catched in the client code wherever it makes sense.
PS: please set the follow up group when cross-posting
Or consider an alternative approach:
Make the constructor private and add a shared CreateObject method. This
method can return null if the passed in id is not valid. If the id is valid
it creates and returns a valid object using the private constructor.
/claes
"Claes Bergefall" <lo*****@nospam.nospam> wrote in message
news:Oi**************@TK2MSFTNGP05.phx.gbl... Nope, you can't cancel the construction of the object. The correct thing to do in this case is to throw an ArgumentException (or possibly ArgumentOutOfRangeException)
/claes
"Pieter" <pi**********@hotmail.com> wrote in message news:%2****************@TK2MSFTNGP03.phx.gbl... Hi,
Most of my Objects have a constructor like this "Public Sub New(ID as Integer)". But when this ID isn't valid, I end up with an instantiated object, that doesn't contain values. Is there a way to kind of cancel the constructor when it detects that there isn't an object with this ID?
The main reason is that I like to test on: "MyObject Is Nohting", but in these case is isn't nothing, but doesn't contain any values...
Thanks a lot in advance,
Pieter
Pieter, Is there a way to kind of cancel the constructor when it detects that there isn't an object with this ID?
Throw an exception. It will not, however, cancel the creation of the
object. It's too late for that.
Mattias
--
Mattias Sjögren [C# MVP] mattias @ mvps.org http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
"Pieter" <pi**********@hotmail.com> schrieb: Most of my Objects have a constructor like this "Public Sub New(ID as Integer)". But when this ID isn't valid, I end up with an instantiated object, that doesn't contain values. Is there a way to kind of cancel the constructor when it detects that there isn't an object with this ID?
The main reason is that I like to test on: "MyObject Is Nohting", but in these case is isn't nothing, but doesn't contain any values...
Either throw an exception or add a shared factory method which performs
initialization and returns 'Nothing' if construction fails.
--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>
Ok, thanks for the suggestions!
"Pieter" <pi**********@hotmail.com> wrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl... Hi,
Most of my Objects have a constructor like this "Public Sub New(ID as Integer)". But when this ID isn't valid, I end up with an instantiated object, that doesn't contain values. Is there a way to kind of cancel the constructor when it detects that there isn't an object with this ID?
The main reason is that I like to test on: "MyObject Is Nohting", but in these case is isn't nothing, but doesn't contain any values...
Thanks a lot in advance,
Pieter
You might also consider using a factory and return a Null Object when the ID
does not exist. Then the object has values and you can use the .IsNull
property as needed. The Null Object can eliminate testing for == null in
multiple places throughout your code.
SP This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Flzw |
last post by:
Is it possible to cancel a constructor ?
I mean, for example I have an object which is created by reading a file so
there is a filename argument to the constructor. But if it happens the file
is...
|
by: AP |
last post by:
Hi,
I'm trying to use c# to pop up a dialog box when a user attempts to close
word to prompt them if they want to exit or cancel (obviously other stuff
needs to happen based on their selection...
|
by: Player |
last post by:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello all.
I am in the process of teaching myself C# and I think I am doing OK.
I have learnt how to how to call the right constructor of a...
|
by: Ben Blank |
last post by:
I'm writing a family of classes which all inherit most of their methods and
code (including constructors) from a single base class. When attempting to
instance one of the derived classes using...
|
by: Eidolon |
last post by:
Is there any way that you can write your constructor so that it returns
nothing?
For example:
Take a Customer object which has a constructor whose constructor has the
signiture:
Public Sub...
|
by: Stuart Whiteford |
last post by:
Hi,
I've got a basic web form, two textboxes, a couple of radio button groups,
some required field validators, and a Submit and Cancel button.
When the page loads, if I click the Cancel...
|
by: Pieter |
last post by:
Hi,
Most of my Objects have a constructor like this "Public Sub New(ID as
Integer)".
But when this ID isn't valid, I end up with an instantiated object, that
doesn't contain values. Is there a...
|
by: NewToCPP |
last post by:
does the default constructor initialize values?
I have a class as defined below:
class A
{
int i;
char c;
int * iPtr;
|
by: imutate |
last post by:
Some questions about ctors and class members
Is v private in the following ? If it is why put the declaration at
the top ? Is there any difference to putting it in the private section
?
The...
|
by: Morten Lemvigh |
last post by:
Is it possible to pass a pointer to a constructor or a class definition
as argument to a function? Maybe in a way similar to passing function
pointers...?
The function should construct a number...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |