对不起大家!我太喜欢代码了!我忘了把编译器错误。
这是新版本的代码简化!
这是错误:
错误 1 'IWeird.DataBase.ModifyData(ref IWeird.IDataTable)' 的最佳重载方法匹配有一些无效参数
错误 2 参数 '1': 无法从 'ref IWeird.Periods' 转换为 'ref IWeird.IDataTable'
问题:我不能通过引用传递一个带有结构的接口,我做错了什么?
这是新的示例代码:
class PeriodsProcessor
{
public PeriodsProcessor()
{
Periods Data = new Periods();
DataBase DB = new DataBase();
Console.WriteLine(Data.Value);
DB.ModifyData(ref Data);
Console.WriteLine(Data.Value);
Console.ReadLine();
}
}
public interface IDataTable
{
string Value { get; set; }
}
public struct Periods : IDataTable
{
public string Value { get; set; }
}
public class DataBase
{
public void ModifyData(ref IDataTable data)
{
data.Value = "CHANGE";
}
}
class Program
{
static void Main(string[] args)
{
PeriodsProcessor PeriodsProcessor = new PeriodsProcessor();
}
}