Jag har alltid varit dålig på att memorera vad saker i IT-världen heter och kallas. Kallas overload eller överlagring på svenska och du har gjort rätt. Fast jag skulle vilja påstå att de gör samma sak förutom att den andra lägger till en string efter värdet. Varför inte återanvända kod? <b>Däremot förstår jag inte riktigt varför du vill att funktionerna skall heta samma när de gör olika saker.Overload? Override? Eller?
För det mesta har det gått bra men nu känns det som att det är dags att lära sig.
Så nu undrar jag:
Är det rätt gjort?
Vad kallas det?
Detta fungerar så det är ju ett steg i rätt riktning.
Nu får jag ju valmöjligheten att kunna skicka två eller tre värden till setLabelV.
<code>
protected void setLabelV(string lbl_name, int lbl_value)
{
Label lbl = MultiView1.FindControl(lbl_name) as Label;
if (lbl != null)
{
lbl.Text = DPR.FieldValues.GetValue(lbl_value).ToString();
}
}
protected void setLabelV(string lbl_name, int lbl_value, string strExtra)
{
Label lbl = MultiView1.FindControl(lbl_name) as Label;
if (lbl != null)
{
lbl.Text = DPR.FieldValues.GetValue(lbl_value).ToString() + strExtra;
}
}
</code>Sv: Overload? Override? Eller?
Däremot förstår jag inte riktigt varför du vill att funktionerna skall heta samma när de gör olika saker.
Dessutom verkar du ha både databasaccess och GUI i samma klass vilket verkar lite rörigt.
varför inte
gui.SetLabel("blabla", DPR.FieldValues.GetValue(x).ToString())
och
gui.SetLabel("blabla", DPR.FieldValues.GetValue(x).ToString() + "aaa")Sv:Overload? Override? Eller?
Sv: Overload? Override? Eller?
protected void setLabelV(string lbl_name, int lbl_value) {
this.setLabelV(lbl_name, lbl_value, string.Empty);
}Sv:Overload? Override? Eller?
</b>
De gör ju nästan samma sak, finns ett fint begrepp för det som heter polymorfism.
jag hade dock gjort så här:
<code>
protected void setLabelV(string lbl_name, int lbl_value)
{
setLabelV(string lbl_name, int lbl_value, "")
}
protected void setLabelV(string lbl_name, int lbl_value, string strExtra)
{
Label lbl = MultiView1.FindControl(lbl_name) as Label;
if (lbl != null)
{
lbl.Text = DPR.FieldValues.GetValue(lbl_value).ToString() + strExtra;
}
}
</code>
Hmm.. skulle läst görans inlägg lite noggrannare... ;-)