由于范围,无法使用类型名称限定

时间:2016-01-13 14:20:21

标签: c# scope

我有以下代码:

using System;
using System.Collections.Generic;

public class Program
{
    public int num_segundos = 10;

    private void getHorarios( DateTime date )
    {
        List<DateTime> horarios = new List<DateTime>();
        for( var i = -this.num_segundos; i<= this.num_segundos; i++)
        {
            DateTime temp = date.AddSeconds(i);
            Console.WriteLine( temp.UtcNow );
            horarios.Add(temp);
        }
        foreach( DateTime a in horarios )
        {
            Console.WriteLine( a.UtcNow );
        }
    }

    public void Main()
    {
        getHorarios( DateTime.UtcNow );
    }
}

我收到错误

  

“无法使用实例引用访问;请使用类型名称来限定”

a.UtcNow个实例上。问题是我不知道在本地范围内做到这一点的方法。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

您在寻找ToUniversalTime()吗? UtcNow将始终是当前的日期时间。

https://msdn.microsoft.com/en-us/library/system.datetime.touniversaltime(v=vs.110).aspx

答案 1 :(得分:1)

UtcNow是一个静态成员,你不能使用任何实例来调用它。要使用它,您应使用DateTime.UtcNow。

顺便说一句,我想你要做的是将临时格式转换为UTC时区。所以使用toUniversalTime()是一个更好的解决方案。