Can I make a function in C# take an optional parameter or do I need to overload it? -
i have following in interface:
string gettopic(string rk);
and function:
public string gettopic(string rk) { return string.format("{0}.{1}.{2}", rk.substring(0, 2).trimstart('0'), rk.substring(2, 2).trimstart('0').padleft(1, '0'), rk.substring(4, 2).trimstart('0').padleft(1, '0')); }
i add optional second parameter, enabling function called this:
var = gettopic("010101")
or
var b = gettopic("010101","test")
in first case output "1.1.1" , in second case output "1.1.1 - test".
is possible or need make 2 functions , have 1 overload other one? how can specify optional second parameter in interface?
you can set default:
public string gettopic(string rk, string anotherparam = "") { string append = (string.isnullorempty(anotherparam)) ? "" : " - " + anotherparam; return string.format("{0}.{1}.{2}{3}", rk.substring(0, 2).trimstart('0'), rk.substring(2, 2).trimstart('0').padleft(1, '0'), rk.substring(4, 2).trimstart('0').padleft(1, '0'), append); }
so "anotherparam" test if call:
var = gettopic("010101");
and interace-definition:
public interface iutilityservice { string gettopic(string rk, string suffix = ""); }
Comments
Post a Comment