0

我正在尝试使用 api,但我无法调用此类的任何方法

    namespace Ipfs.Api
{

    /// <summary>
    ///   Manages the files/directories in IPFS.
    /// </summary>
    /// <remarks>
    ///   <para>
    ///   This API is accessed via the <see cref="IpfsClient.FileSystem"/> property.
    ///   </para>
    /// </remarks>
    /// <seealso href="https://github.com/ipfs/interface-ipfs-core/tree/master/API/files">Files API</seealso>
    public class FileSystemApi
    {
        IpfsClient ipfs;
        Lazy<DagNode> emptyFolder;

        internal FileSystemApi(IpfsClient ipfs)
        {
            this.ipfs = ipfs;
            this.emptyFolder = new Lazy<DagNode>(() => ipfs.Object.NewDirectoryAsync().Result);
        }

        /// <summary>
        ///   Add a file to the interplanetary file system.
        /// </summary>
        /// <param name="path"></param>
        public Task<FileSystemNode> AddFileAsync(string path)
        {
            return AddAsync(
                new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read),
                Path.GetFileName(path));
        }
}

我想在不修改的情况下使用 API,我不能声明一个对象,因为我不能调用任何构造函数,我不能调用任何没有对象的方法,因为它们不是静态的。

声明对象时出错

我应该怎么办?

4

1 回答 1

2

您不能在没有反射的情况下实例化该类,这有点棘手(取决于内部接口不是最理想的,因为 API 维护人员通常不关心保持内部位向后兼容。

doc 标记为您提供了一个重要线索:“此 API 是通过 IpfsClient.FileSystem 属性访问的。”

于 2017-03-19T19:02:19.777 回答