如何创建没有构造函数的 class 对象,C#
How can I create an object of a class with no constructor, C#
我正在尝试使用 api,但我无法调用此 class
的任何方法
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,我不能声明一个对象,因为我不能调用任何构造函数,我不能在没有对象的情况下调用任何方法,因为它们不是静态的。
我该怎么办?
你不能在没有反射的情况下实例化 class,这有点 hacky(取决于内部接口是次优的,因为 API 维护者通常不关心保持内部位向后兼容.
doc 标签为您提供了一条重要线索:
"This API is accessed via the IpfsClient.FileSystem property. "
我正在尝试使用 api,但我无法调用此 class
的任何方法 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,我不能声明一个对象,因为我不能调用任何构造函数,我不能在没有对象的情况下调用任何方法,因为它们不是静态的。
我该怎么办?
你不能在没有反射的情况下实例化 class,这有点 hacky(取决于内部接口是次优的,因为 API 维护者通常不关心保持内部位向后兼容.
doc 标签为您提供了一条重要线索: "This API is accessed via the IpfsClient.FileSystem property. "