c# - CS0122:“AmazonGlacierClient.ListVaults()”因其保护级别而无法访问
问题描述
我收到以下错误: https ://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0122
Program.cs(42,34):错误 CS0122:“AmazonGlacierClient.ListVaults()”由于其保护级别而无法访问 [/app/myglacier.csproj]
运行此代码时:
var response = this.client.ListVaults();
sdk链接:
- https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Glacier/MGlacierListVaults.html
- https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Glacier/TGlacierClient.html
- https://docs.aws.amazon.com/sdkfornet/v3/apidocs/
我的问题:
为什么我在“虚拟公共”方法上收到此错误?为什么我无法访问它?
完整代码:
using System;
using System.Collections.Generic;
using Amazon.Glacier;
using Amazon.Glacier.Model;
namespace myglacier
{
class Program
{
static void Main(string[] args)
{
Myglacier mg = new Myglacier();
mg.init();
var vl = mg.getVaults();
Console.WriteLine("Hello World!");
}
}
public class Myglacier
{
public AmazonGlacierClient client = null;
public void init()
{
AmazonGlacierClient client;
client = new AmazonGlacierClient("&&&&&&&&&", "++++++++++++", Amazon.RegionEndpoint.USEast1);
}
public List<DescribeVaultOutput> getVaults()
{
var response = this.client.ListVaults();
List<DescribeVaultOutput> vaultList = response.VaultList;
return vaultList;
}
}
}
解决方案
适用于 .NET 的 AWS 开发工具包因目标开发工具包而异。例如,Glacier 有3 个不同的目标:
- _bcl35
- _bcl45
- _netstandard
.NET 3.5 目标没有AmazonGlacierClient
,所以我们可以排除它。您的目标是 .NET Framework >= 4.5 或 .NET Standard(可能是 .NET Core)的某些实现。
.NET 4.5+ 版本确实有一个公共GetVaults()
方法。
.NET Standard 版本只有一个 internal GetVaults()
,但你有一个ListVaultsAsync()
可以使用的 public。
请记住,适用于 .NET 的 SDK 是开源的,如果文档在这种情况下看起来有误,您可以随时查看。
推荐阅读
- jpa - JPA:并行线程:插入相同的记录:SQLIntegrityConstraintViolationException
- javascript - react-native-navigation 给出错误“未定义不是对象(评估'_this.props.navigation.navigate')”
- javascript - 在不丢失透明度的情况下将 FLV 视频文件嵌入 HTML 页面
- python - 无法获取列表项的索引
- python - Leetcode 相同的树
- javascript - 如何将数据从兄弟组件传递给组件反应
- c# - 修复:将字符串中的第一个单词和其余单词分开(indexof 问题)
- javascript - 如何使用一个 json 对象嵌套或继承模板?使用小胡子 Js
- css - div之间出现意外的空白,仅在谷歌浏览器中
- sockets - 我的帖子 tidtcpclient 中的错误在哪里?