Kit de développement logiciel (SDK) .NET pour la création de cartes.NET SDK for Authoring Cards

Comme nous l’avons décrit dans la page prise en main , une carte adaptative est un modèle d’objet JSON.As we described in the Getting Started page, an Adaptive Card is a JSON object model. La bibliothèque .NET facilite grandement l’utilisation de ce JSON.The .NET library makes working with that JSON much easier.

Installation de NuGetNuGet Install

Le AdaptiveCards package NuGet fournit des types pour l’utilisation des cartes adaptatives dans .netThe AdaptiveCards NuGet package provides types for working with adaptive cards in .NET

Installation NuGetNuget install

Install-Package AdaptiveCards

Exemple : Créer un AdaptiveCard et le sérialiser en JSONExample: Create an AdaptiveCard and serialize to JSON

Cet exemple montre comment créer une carte adaptative à l’aide d' C# objets standard, puis la sérialiser au format JSON pour le transport sur le réseau.This example demonstrates how to build an Adaptive Card using standard C# objects and then serialize it to JSON for transport over the wire.

using AdaptiveCards;
// ...

AdaptiveCard card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0));

card.Body.Add(new AdaptiveTextBlock() 
{
    Text = "Hello",
    Size = AdaptiveTextSize.ExtraLarge
});

card.Body.Add(new AdaptiveImage() 
{
    Url = new Uri("http://adaptivecards.io/content/cats/1.png")
});

// serialize the card to JSON
string json = card.ToJson();

Exemple : Analyser un AdaptiveCard à partir de JSONExample: Parse an AdaptiveCard from JSON

Cet exemple montre comment analyser une charge utile JSON dans une carte adaptative.This example demonstrates how to parse a JSON payload into an Adaptive Card. Cela facilite la manipulation du modèle d’objet, voire le rendu des cartes adaptatives dans votre application à l’aide de nos Kits de développementlogiciel (SDK) de convertisseur.This makes it easy to manipulate the object model or even render Adaptive Cards inside your app by using our renderer SDKs.

try
{
    // Get a JSON-serialized payload
    // Your app will probably get cards from somewhere else :)
    var client = new HttpClient();
    var response = await client.GetAsync("http://adaptivecards.io/payloads/ActivityUpdate.json");
    var json = await response.Content.ReadAsStringAsync();

    // Parse the JSON 
    AdaptiveCardParseResult result = AdaptiveCard.FromJson(json);

    // Get card from result
    AdaptiveCard card = result.Card;

    // Optional: check for any parse warnings
    // This includes things like unknown element "type"
    // or unknown properties on element
    IList<AdaptiveWarning> warnings = result.Warnings;
}
catch(AdaptiveSerializationException ex)
{
    // Failed to deserialize card 
    // This occurs from malformed JSON
    // or schema violations like required properties missing 
}