我正在尝试使用带有参数的方法,该方法是一个接口,带有尖括号中的泛型类型,但我不知道如何将我的值传递给它。该方法定义如下:public static class Settings { public static void UpdateSetting<TType>(ISetting<TType> setting) { // Do its thing }}现在我尝试使用我的代码来调用它,例如:Settings.UpdateSetting<MyParticularSettingType>(new MyParticularSettingType { Value = "settingvalue"});与,别处...public class MyParticularSettingsType : Setting<string> 和...public abstract class Setting<TType> : ISetting<TType>但是在参数上,我得到一个错误。无法从 MyNameSpace.MyParticularSettingType 转换为 SettingsNamespace.ISetting<MyNameSpace.MyParticularSettingType>我试过铸造它,虽然它摆脱了编译错误,但它在运行时抛出了一个异常无法将“MyNameSpace.MyParticularSettingType”类型的对象转换为“SettingsNamespace.ISetting`1[MyNameSpace.MyParticularSettingType]”Settings.UpdateSetting((ISetting<MyParticularSettingType>)(new MyParticularSettingType { Value = "settingvalue" }));我到底应该做什么?
1 回答
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消