为了账号安全,请及时绑定邮箱和手机立即绑定

如何传递定义为 interface<generictype> 的参数?

如何传递定义为 interface<generictype> 的参数?

C#
慕桂英546537 2021-06-30 03:17:45
我正在尝试使用带有参数的方法,该方法是一个接口,带有尖括号中的泛型类型,但我不知道如何将我的值传递给它。该方法定义如下: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
提交
取消
意见反馈 帮助中心 APP下载
官方微信