???
Aus der "ECMA-334 C# Language Specification":
1 The abstract modifier is used to indicate that a class is incomplete
and that it is intended to be used only as a base class.
2 An abstract class differs from a non-abstract class in the following
ways:
3 An abstract class cannot be instantiated directly, and it is a
compile-time error to use the new operator on an abstract class.
4 While it is possible to have variables and values whose compile-time
types are abstract, such variables and values will necessarily
either
be null or contain references to instances of non-abstract classes
derived from the abstract types.
5 An abstract class is permitted (but not required) to contain
abstract
members.
6 An abstract class cannot be sealed.
1 When a non-abstract class is derived from an abstract class, the
non-abstract
class must include actual implementations of all inherited abstract
members,
thereby overriding those abstract members.
[Example: In the example
abstract class A
{
public abstract void F();
}
abstract class B: A
{
public void G() {}
}
class C: B
{
public override void F() {
// actual implementation of F
}
}
the abstract class A introduces an abstract method F. Class B introduces
an additional method G, but since it doesn't provide an implementation
of F, B must also be declared abstract. Class C overrides F and provides
an actual implementation. Since there are no abstract members in C, C is
permitted (but not required) to be non-abstract. end example]
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/
html/vbconabstractclasses.asp>
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/
html/vclrfabstract.asp>
_______________________________________________
Csharp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/csharp.net