我正在使用别人的代码并尝试进行一些修改。所以我需要做的是采取以下措施:
RemoteFileDP remoteFile = new DPFactory().CreateRemoteFileDP(configData);
Run Code Online (Sandbox Code Playgroud)
并更改它,以便 RemoteFile 可以等于字符串变量中的内容。为了进一步解释,让我给出更多代码:
ConfigDP configData = new ConfigDP();
Run Code Online (Sandbox Code Playgroud)
因此上面的语句在remoteFile语句之前执行,并且ConfigDP上面有两个类(抽象Config和它的基类:抽象ConfigBase)。DP 也是它上面的两个抽象类(抽象 RemoteFile 和抽象 RemoteFileBase)的子类。
根据我的理解,remoteFile 是从数据库查询中提取数据的结果,存储到列表或哈希表中(对不起,只是一个实习生,所以我正在解决这个问题)。
我需要remoteFile接受字符串值的原因是因为有许多方法利用remoteFile中的信息,并且我希望避免必须创建一大堆接受字符串值而不是RemoteFileDP remoteFile的重载方法。
因此,如果我可以采用如下字符串值:
string locationDirectory;
Run Code Online (Sandbox Code Playgroud)
它是从另一个方法传入的,然后具有类似于以下内容的内容:
RemoteFileDP remoteFile = locationDirectory;
Run Code Online (Sandbox Code Playgroud)
那么使用remoteFile 的所有其他方法将不必重载或更改。
抱歉所有细节,但这是我第一次发帖,所以我希望我提供了足够的信息。我确实查看了C# 将动态字符串转换为现有类和C#:使用运行时确定的类型实例化对象并编写了以下代码:
RemoteFilesDP remoteFile = (RemoteFileDP)Activator.CreateInstance(typeof(RemoteFileDP), locationDirectory);
Run Code Online (Sandbox Code Playgroud)
但是,我不断收到“MissingMethodException”错误,表示找不到 RemoteFileDP 的构造函数,但我确实有构造函数,如下所示:
public RemoteFileDP()
{
} //end of RemoteFilePlattsDP constructor
Run Code Online (Sandbox Code Playgroud)
提前感谢您的帮助!
您缺少一个以 astring作为参数的构造函数。尝试你的代码
public RemoteFileDP(string locationDirectory)
{
// do stuff with locationDirectory to initialize RemoteFileDP appropriately
}
Run Code Online (Sandbox Code Playgroud)
当然,如果这样做的话,为什么不直接调用构造函数呢?
RemoteFileDP remoteFile = new RemoteFileDP(locationDirectory);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9302 次 |
| 最近记录: |