Wpis z mikrobloga

@sokytsinolop: nie chce się czepiac ale na tym polega przeciążanie.

Just as a reminder, overloading is what happens when you have two methods with the same name but different signatures. At compile time, the compiler works out which one it's going to call, based on the compile time types of the arguments and the target of the method call.


[https://stackoverflow.com/questions/2651413/function-overloading](https://stackoverflow.com/questions/2651413/function-overloading)
@Vanguard1990: nie piszę w C# wiec nie wiem co znaczy to słowo kluczowe, ale jeśli oznacza opcjonalność (bo takie coś mogę wyczytać z kontekstu) to wtedy sygnatury mogą być odebrane jako na tyle podobne przez kompilator że nie jest w stanie stwierdzić którą metodę tak naprawdę wołasz w kodzie wołając tą z tylko 2 parametrami.
public void CloseSalesDokument(int documentId, int closeMode)

{

}

i

public void CloseSalesDokument(int documentId, int mode, ref int[] gid, ref int trnGIDNumer, ref int TrnGIDTyp)

{

}


@Vanguard1990: Coś się nie zgadza. Ten kod się prawidłowo kompiluje. Nie masz czasem 3 metody o takiej samej nazwie?
https://ideone.com/rT3Xqd
@Kizio: nie możesz mieć dwóch metod void Foo(ref int) i void Foo(out int), ale możesz mieć nawet void Foo(int) i void Foo(out/ref
@pieczarrek: OP się nie odzywa. Pewnie miał jakiś głupi błąd (stawiam, że gdzieś jeszcze była metoda o takiej samej nazwie) i teraz się zorientował i głupio się przyznać do błędu.