Czy to są metody typu rzeczywistego bez zwracania wartości zwracanej?W jaki sposób typ System.Void określa typ wartości zwracanej dla metody, która nie zwraca wartości?
Jeśli tak, to gdzie jest rozróżnienie, że "nic" zostało zwrócone?
Czy to są metody typu rzeczywistego bez zwracania wartości zwracanej?W jaki sposób typ System.Void określa typ wartości zwracanej dla metody, która nie zwraca wartości?
Jeśli tak, to gdzie jest rozróżnienie, że "nic" zostało zwrócone?
Nie jestem pewien, czego dokładnie szukasz. Istnieje System.Void i słowo kluczowe "void".
Słowo kluczowe jest używane z powodów określonych przez definicję typu. Typ jest używany w odbiciu, gdy zapytasz, jaki "typ" zostanie zwrócona informacja o metodzie.
Ten typ wartości jest przeznaczony do użytku z odbiciem. Załóżmy, że chcesz zapytać o typ zwracanej metody. Jaką wartość otrzymasz? Właśnie do tego służy System.Void.
Ale dokumentacja już mówi:
Pustka struktura jest używana w przestrzeni nazw System.Reflection, ale rzadko jest przydatne w typowych zastosowaniach. Struktura Void nie ma członków innych niż te wszystkie typy dziedziczą z klasy Object.
Metoda nie zwraca niczego; na stosie nie pojawia się żadna wartość zwracana (w przeciwieństwie do wartości zerowej, wszystkich zer, odniesienie do , itp.)
Typ System.Void
jest tylko symbolem zastępczym dla API do refleksji, dzięki czemu odbicie ma wygodny sposób ty, że metoda nie zwraca wartości.