2011-07-12 11 views
12

Wiem, że to głupie pytanie. Mogę utworzyć pustą klasę, jak poniżej w języku C#.Jak stworzyć pustą klasę w F #

class Customer{} 

Ale jak mogę to zrobić w F #? To jest moja próba:

type Customer() = 

    let _ =() 

Jaki jest prawidłowy sposób?

Odpowiedz

18

Spróbuj

type Customer() = class end 

Normalnie, można pozostawić class i end znaki ukryte i kompilator wyprowadza swoją obecność na początku i na końcu definicji klasy, ale jeśli klasa jest całkowicie pusty, musisz aby je określić. Podobnie można użyć struct end i interface end do generowania struktur i interfejsów.

+0

Próbuję typ Klient = koniec klasy, bez "()", działa dla mnie. –

+2

@Fred - tak, to też zadziała, ale wtedy twoja klasa nie będzie miała żadnego dostępnego konstruktora w obrębie F #. – kvb

+0

masz rację, trzeba mieć "()" tam, trzeba zobaczyć IL, aby zobaczyć, jak to działa :). –

7

Innym sposobem napisać pustej klasie (z konstruktora bez parametrów), a nie jestem pewien, w jaki sposób powstały IL będzie wyglądać w porównaniu do rozwiązania @ KvB jest jeżeli jest on różny w ogóle, to po prostu

type Customer() = do() 
7

Jeszcze inny sposób:

type Customer = 
    new() = {}