Gibt es in der folgenden Situation irgendeine Art von Konvention in C# (oder einer objektorientierten Sprache, die das Überladen von Methoden unterstützt)?Gibt es eine C# -Methode Überladung Parameterkonvention?
Können sagen, ich habe eine Methode foo:
public void Foo(int a){//does stuff}
Aber ich habe eigentlich drei Methoden foo:
public void Foo(int a){}
public void Foo(int a, double b){}
public void Foo(float c, int a, double b){}
Gibt es eine Konvention, die in ein, ob die Reihenfolge der Parameter Angelegenheiten erklärt überladene Methode? Beachten Sie, dass die dritte Methode keine logische Folge ist (a, b, c).
Wenn 'a' immer erforderlich ist und' b' erforderlich ist, wenn 'c' angegeben wird, würde ich Folgendes tun:' public void Foo (int a, doppelt? B = null, float? C = null) - vorausgesetzt, Ihre Logik ist die gleiche. – zimdanen
@zimdanen, es gibt keinen Grund, Parameter nullbar zu machen – Maxwe11
@Jupiter: Die Idee ist, das als eine Alternative zu Überladungen zu verwenden. Es funktioniert gut, wenn es mehrere Parameter gibt, die alle unabhängig voneinander sind - Sie vermeiden es, die Anzahl der Überladungen jedes Mal zu verdoppeln, wenn Sie eine weitere hinzufügen. (Zugegeben, sobald Sie etwa 5 Parameter haben, sollten Sie wirklich genau hinsehen, ob dies ein geeignetes Design ist ...) –