Zitat von
Taladan:
Ich habe bisher fast nur in D4 Komponenten entwickelt. Da war so was nicht möglich.
Jaaa, aber wir reden hier von .Net.
In .Net gibt so feine Sachen wie Meta daten.
Das PropertyGrid (und auch DataBinding standardmäßig) wird alle Properties ignorieren, die mit BrowsableAttribute(false) markiert sind.
Delphi-Quellcode:
type
BaseClass = public class
private
fSomeProperty :Integer;
procedure set_SomeProperty(value :Integer);
public
property SomeProperty :Integer
read fSomeProperty
write set_SomeProperty; virtual;
end;
implementation
method BaseClass.set_SomeProperty(value :Integer);
begin
fSomeProperty := value;
end;
Damit das funktioniert muss die Property _überschrieben_ werden. (Ich glaube D2005 kann das schon, oder?
)
Mehr ist es nicht.
Delphi-Quellcode:
uses
System.ComponentModel;
type
Descendant = public class(BaseClass)
public
[Browsable(false)]
property SomeProperty :Integer; override;
end;
In C# muss man die Property noch "zu Fuss" durchgereichen. Sonst ist es genau das gleiche.
Code:
using System.ComponentModel;
public class Descendant : BaseClass
{
[Browsable(false)]
public override int SomeProperty
{
get { return base.SomeProperty; }
set { base.SomeProperty = value; }
}
}
Edit:
Da hat mir wohl die Hitze und die vielen Buchstaben einen Streich gespielt...
Ich dachte du meinst generelles Verstecken...