Methods, properties, and the class body
A class body holds members: fields, properties, and methods. Coming from TS, methods are familiar and properties have a twist worth learning early, because Fusion code is full of them.
A method is a function that lives on a type. The signature reads left to right: access modifier, optional async, return type, name, parameters. void is the return type for "returns nothing" (like a TS : void). The single biggest reading skill is parsing that signature fluently.
Note => on the first line. An expression-bodied member is C#'s arrow shorthand for a method whose whole body is one expression: public int Add(int a, int b) => a + b; is the same as { return a + b; }. You'll see it constantly on small methods and property getters, and it reads just like a TS arrow function.
Now the twist. TS has one concept, the class field. C# splits it into two.
A field is a plain variable slot. Fusion uses fields for private, injected dependencies, by convention prefixed with an underscore (_repo, _utcNow). A property looks like a field to callers (example.Name) but is really a pair of accessors, get and set, that let the type control reads and writes. { get; init; } means "readable always, settable only during construction," which is how the domain gets immutability. { get; private set; } means "the outside can read it, only this class can change it." And a getter with => and no set is a computed value, like a TS getter.
Try it yourself
Property versus field
Two words that look the same to a TS eye but aren't.
In C#, what's the difference between a field and a property, and which one does Fusion code expose publicly?
Reading a signature
You see public async Task<Result<FlightNumberVo>> Create(string? value). Reading left to right, what does each part tell you?