제작 카드용 .NET SDK.NET SDK for Authoring Cards

시작 페이지에서 설명한 대로 적응 카드는 JSON 개체 모델입니다.As we described in the Getting Started page, an Adaptive Card is a JSON object model. .NET 라이브러리를 사용 하면 해당 JSON을 훨씬 쉽게 사용할 수 있습니다.The .NET library makes working with that JSON much easier.

NuGet 설치NuGet Install

NuGet AdaptiveCards 패키지는 .net에서 적응 카드로 작업 하기 위한 형식을 제공 합니다.The AdaptiveCards NuGet package provides types for working with adaptive cards in .NET

NuGet 설치Nuget install

Install-Package AdaptiveCards

예: AdaptiveCard 만들기 및 JSON으로 직렬화Example: Create an AdaptiveCard and serialize to JSON

이 예제에서는 표준 C# 개체를 사용 하 여 적응 카드를 빌드한 다음 네트워크를 통해 전송 하기 위해 JSON으로 serialize 하는 방법을 보여 줍니다.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();

예: JSON에서 AdaptiveCard 구문 분석Example: Parse an AdaptiveCard from JSON

이 예제에서는 JSON 페이로드를 적응 카드로 구문 분석 하는 방법을 보여 줍니다.This example demonstrates how to parse a JSON payload into an Adaptive Card. 이렇게 하면 개체 모델을 쉽게 조작 하거나 렌더러 sdk를 사용 하 여 앱 내에서 적응 카드를 렌더링할 수 있습니다.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 
}