类型或名称空间定义,或编译时预期的文件结尾问题

问题描述

我正在创建一个基于Web的expo sender应用程序,但是在编译该项目时遇到了问题。我一直在说

“类型或名称空间定义,或预期的文件结尾”

我的代码看起来像这样,我从here那里得到了它

using MobileServices.Client;
using MobileServices.Models;
using System;
using System.Collections.Generic;
using System.Linq;


var expoSDKClient = new PushApiClient();
var pushTicketReq = new PushTicketRequest()
{
    PushTo = new List<string>() { "..." },PushBadgeCount = 7,PushBody = ""
};
var result = expoSDKClient.PushSendAsync(pushTicketReq).GetAwaiter().GetResult();

if (result?.PushTicketErrors?.Count() > 0)
{
    foreach (var error in result.PushTicketErrors)
    {
        Console.WriteLine($"Error: {error.ErrorCode} - {error.ErrorMessage}");
    }
}

var pushReceiptResult = expoSDKClient.PushGetReceiptsAsync(pushReceiptReq).GetAwaiter().GetResult();

if (pushReceiptResult?.ErrorInformations?.Count() > 0)
{
    foreach (var error in result.ErrorInformations)
    {
        Console.WriteLine($"Error: {error.ErrorCode} - {error.ErrorMessage}");
    }
}
foreach (var pushReceipt in pushReceiptResult.PushTicketReceipts)
{
    Console.WriteLine($"TicketId & Delivery Status: {pushReceipt.Key} {pushReceipt.Value.DeliveryStatus} {pushReceipt.Value.DeliveryMessage}");
}

这是我正在构建的第一个C#应用程序,并且我搜索了错误但没有结果。您能帮我解决这个问题吗?我知道这很简单,但是由于卡住了,我真的需要帮助。

解决方法

您需要同时声明一个名称空间和一个这样的类,然后将其放入函数中。

c#中的每段代码都必须在类型(可以是类,结构或接口等)中声明。

所有类型依次在接口内部声明,这些接口是类型和其他接口的逻辑分组。

所有(或大部分)代码建模行为,都应在函数内部声明。

using MobileServices.Client;
using MobileServices.Models;
using System;
using System.Collections.Generic;
using System.Linq;

namespace mynamespace {

    public class ExpoClient {
         public void DoPushSend() {
             var expoSDKClient = new PushApiClient();
             var pushTicketReq = new PushTicketRequest()
             {
                  PushTo = new List<string>() { "..." },PushBadgeCount = 7,PushBody = ""
             };
             var result = expoSDKClient.PushSendAsync(pushTicketReq).GetAwaiter().GetResult();

             if (result?.PushTicketErrors?.Count() > 0)
             {
                  foreach (var error in result.PushTicketErrors)
                  {
                        Console.WriteLine($"Error: {error.ErrorCode} - {error.ErrorMessage}");
                   }
             }


             var pushReceiptResult = expoSDKClient.PushGetReceiptsAsync(pushReceiptReq).GetAwaiter().GetResult();

             if (pushReceiptResult?.ErrorInformations?.Count() > 0) {
                   foreach (var error in result.ErrorInformations)
                  {
                         Console.WriteLine($"Error: {error.ErrorCode} - {error.ErrorMessage}");
                   }
          }
          foreach (var pushReceipt in  pushReceiptResult.PushTicketReceipts)
          {
                Console.WriteLine($"TicketId & Delivery Status: {pushReceipt.Key} {pushReceipt.Value.DeliveryStatus} {pushReceipt.Value.DeliveryMessage}");
          }
      }
   }
}

请注意,存储库中的代码只是整体的一小段,可能需要分解为更多功能。我的修复程序仅用于使您的代码编译。

,

看起来您正在使用的代码示例是用C#9编写的,当前正在预览中。此版本引入了一项称为顶层语句的新功能,该功能使您无需编写代码即可将其封闭在类的方法中。您可能使用的是早期版本,该版本期望入口点位于名为Main的静态方法中。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...