Wątek przeniesiony 2014-03-27 10:38 z C# i .NET przez somekind.

Błąd w klasie zagnieżdżonej - wyjaśnienie czym jest on spowodowany

0

Witam,

Próbuje wykorzystać extension method.

Wrzuciłem swoją klasę jak poniżej i dostaje error:
Error 1 Extension method must be defined in a top level static class; DateTimeExtensions is a nested class

Jest w stanie mi to ktoś wyjaśnić? Rozumiem czemu taki wyskakuje ale nie rozumiem w czym niby tak klasa jest zagnieżdżona

 
namespace Scheduler.Controllers
{

    public class SchedulerController : Controller
    {

        ...
    }


    public static class DateTimeExtensions
    {
        public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
        {
            int diff = dt.DayOfWeek - startOfWeek;
            if (diff < 0)
            {
                diff += 7;
            }

            return dt.AddDays(-1 * diff).Date;
        }
    }
}
0

Nie jest w niczym zagnieżdżona, wygląda poprawnie.

http://ideone.com/incuxg

Nie potwierdzono.

Btw. czemu trzymasz po kilka klas w jednym pliku?

0
msm napisał(a):

Nie jest w niczym zagnieżdżona, wygląda poprawnie.

Skoro kompilator twierdzi, że jest zagnieżdżona, to tak jest. Autor po prostu wkleił kod nie powodujący tego błędu.

0
msm napisał(a):

Nie jest w niczym zagnieżdżona, wygląda poprawnie.

http://ideone.com/incuxg

Nie potwierdzono.

Btw. czemu trzymasz po kilka klas w jednym pliku?

Nie trzymam kilku klas w jednym pliku :) to było wrzucone na szybko w ramach testu.

Dzisiaj jak usiadłem do programu to kompilator doszedł do wniosku że jednak wszystko jest ok.... Zaznaczam że nic w kodzie nie zmieniałem. Magia.

0
matim90 napisał(a):

Dzisiaj jak usiadłem do programu to kompilator doszedł do wniosku że jednak wszystko jest ok.... Zaznaczam że nic w kodzie nie zmieniałem. Magia.

Akurat dzisiaj jest do wygrania 13 milionów w lotka, z takim szczęściem masz pewną wygraną.

1 użytkowników online, w tym zalogowanych: 0, gości: 1