default value of "value" in primitive types

c#, vb.net

Solution

You have the option of overloading the assignment operator to suite your needs.

For example:

public static implicit operator Inches(int value)
{
   return new Inches(value);
}

At which point you would then be able to do something like so:

Inches something = 4;

Problem

primitive types (integer, string, etc) are now classes. However to access the value of the class you just use the object name (ex, x=y). It isn't necessary to refer to a property of the class (x.value = y.value). To implement an abstract data class (say inches), we need a value property so if we have dim x as inches (our class) we have to use: x.value = 3 is that fair?

Original source