Imam custom type converter. dodam ga kao atribut nekom property-u. type converter koristim da u property gridu mogu dobiti drop down listu objekata sa aspx stranice određenog tipa (u priloženom kodu IFORMNODE). sve radi kako spada. problem je ako hoću isti typeconverter koristiti za neki drugi property, ali sa drugačijim tipom od IFORMNODE. Sadašnje rješenje je da uvijek napišem novu klasu, i umjesto IFORMNODE napišem ime drugog tipa. Pitanje je: mogu li nekako predati tip IFORMNODE (ili bilo koji drugi) kao string parametar u moj IDConverter, tako da mogu koristiti sam jedan typeconverter u cijelom solutionu?
public class IDConverter : StringConverter {
public override StandardValuesCollection GetStandardValues( ITypeDescriptorContext context ) {
if( context == null ) {
return null;
}
ArrayList values = new ArrayList();
foreach( Control control in ((Control) context.Instance).Parent.Controls ) {
if( control is IFORMNODE ) { //ovdje iformnode
values.Add( control.ID );
}
}
return new TypeConverter.StandardValuesCollection( values );
}
public override bool GetStandardValuesExclusive( ITypeDescriptorContext context ) {
return false;
}
public override bool GetStandardValuesSupported( ITypeDescriptorContext context ) {
return (context != null);
}
}