D
Daniel Billingsley
Ok, what I'd like to do is create what I'll call an AdvancedString, which is
just a string with a couple of extensions. Let's say for example, I'd like
have an IsValid boolean property which will work in conjuction with setting
the Required boolean property and return false if the string is empty.
I'd like to be able to use this new type as a property in a class that could
be bound to in a WinForm, like I could with a regular string.
But...
- System.String is sealed
- Ok, let's try composition. But there doesn't seem to be a concept of a
default property other than an indexer, or a way to explicitly write my own
= operator.
So how do I make a class I could use like a string in a property - something
like:
class MyClass
{
private AdvancedString _lastName = new AdvanceString(true); // specifies
empty value is invalid, for example
public AdvancedString LastName
{
get { return _lastName; }
set { _lastName = value; }
}
----
MyClass dude = new MyClass();
dude.LastName = "Smith";
if (dude.LastName.IsValid)
{
// do something
}
just a string with a couple of extensions. Let's say for example, I'd like
have an IsValid boolean property which will work in conjuction with setting
the Required boolean property and return false if the string is empty.
I'd like to be able to use this new type as a property in a class that could
be bound to in a WinForm, like I could with a regular string.
But...
- System.String is sealed
- Ok, let's try composition. But there doesn't seem to be a concept of a
default property other than an indexer, or a way to explicitly write my own
= operator.
So how do I make a class I could use like a string in a property - something
like:
class MyClass
{
private AdvancedString _lastName = new AdvanceString(true); // specifies
empty value is invalid, for example
public AdvancedString LastName
{
get { return _lastName; }
set { _lastName = value; }
}
----
MyClass dude = new MyClass();
dude.LastName = "Smith";
if (dude.LastName.IsValid)
{
// do something
}