c# - Vilken typ ska man ge ett JSON-objekt


Jag har följande formulär

 using (Ajax.BeginRouteForm(
   ...
                new AjaxOptions
                {
                    HttpMethod = "POST",
                    OnFailure = "OnFailure",
                    OnSuccess = "OnSuccess"
                }))
            {
                ..,.
            }

Jag implementerar OnSuccess-funktionen i en TypeScript-fil. Jag försöker göra denna funktion mer TypeScripty. För tillfället har jag detta

function OnSuccess(data: what type goes here?) {
...
// use data.SomeValue here
...
}

Frågan är vilken typ jag ska säga att data har så att jag ändå på något sätt kan använda data.SomeValue?

Svar #1

Det bästa sättet är med ett gränssnitt, eftersom du gör ett uttryckligt påstående om strukturen på objektet som returneras och kommunicerar mycket tydligt vad callbacken förväntar sig.

export interface IOnSuccessArgs {
    propertyA: string;
    propertyB: number;
}


function OnSuccess(data: IOnSuccessArgs): void {
   // ... data has propertyA and propertyB

}

Svar #2

Du kan använda typen any:

function OnSuccess(data: any) {
    ...
    // use data.SomeValue here
    ...
}

Relaterade artiklar