小编Shi*_*kyo的帖子

通过反射设置属性时键入转换问题

我们有一个类型的属性,long?充满了int.

当我直接设置属性obj.Value = v;但是当我尝试通过反射设置属性时,这工作正常,info.SetValue(obj, v, null);它给了我以下异常:

'System.Int32'类型的对象无法转换为'System.Nullable`1 [System.Int64]'类型.

这是一个简化的场景:

    class TestClass
    {
        public long? Value { get; set; }
    }

    [TestMethod]
    public void TestMethod2()
    {
        TestClass obj = new TestClass();
        Type t = obj.GetType();

        PropertyInfo info = t.GetProperty("Value");
        int v = 1;

        // This works
        obj.Value = v;

        // This does not work
        info.SetValue(obj, v, null);
    }
Run Code Online (Sandbox Code Playgroud)

为什么在直接设置属性时设置属性reflection时它不起作用?

c# reflection

25
推荐指数
1
解决办法
4万
查看次数

在next js之外读取环境变量

我使用 next js 作为我的应用程序的基础。我的环境变量只要在 next js 的范围内读取就可以工作,但我需要在不使用 next js 的脚本中使用它们。

使用 dotenv 我们可以执行以下操作:

require('dotenv').config();

它解析环境配置文件并允许您从process.env.

因为我使用的是 next js,所以我更愿意使用它们的环境变量实现,而不是添加第二种方式来存储环境变量。

是否有等效的require('dotenv').config();for next js 或其他方法来加载 next js 范围之外的环境变量?

javascript node.js next.js dotenv

1
推荐指数
1
解决办法
1412
查看次数

标签 统计

c# ×1

dotenv ×1

javascript ×1

next.js ×1

node.js ×1

reflection ×1