Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: DateTime

Witam, chciałbym dodać do klasy System::DateTime nową funkcje określająca czy dany dzień jest wolny od pracy czy nie.

Problem w tym że nie mogę stworzyć nowej klasy dziedziczącej po System::DateTime ponieważ pojawia sie błąd

Error 1 error C3246: '' : cannot inherit from 'System::DateTime' as it has been declared as 'sealed'


czy jest jakiś inny sposób dodania tej metody do klasy System::DateTime ?
Jacek R.

Jacek R. programista

Temat: DateTime

Sealed oznacza, że nie możesz dalej dziedziczyć. Ale też nie potrzebujesz, bo byłoby to tutaj niewygodne. Możesz dodawać w locie metody do istniejących klas poprzez użycie extension methods. Więcej: http://msdn.microsoft.com/en-us/library/vstudio/bb3839...

konto usunięte

Temat: DateTime

Tak jak pisał Jacek, najlepszym wyborem będzie Extension Methods.
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: DateTime

Witam, dzięki za pomoc.

Skleciłem coś takiego tylko że za bardzo nie działa, nie wyświetla mi sie funkcja w obiekcie klasy DataTime


#pragma once

using namespace System::Runtime::CompilerServices;

[ExtensionAttribute]
public ref class MyDateTime abstract sealed {
public:
[ExtensionAttribute]
static bool IsHoliday (System::DateTime value)
{
return true;
}
};


Dodałem referencje System::Core

Szukałem na nacie i jest troche mało przykładów, oparłem sie troche o
http://stackoverflow.com/questions/6012578/how-can-i-c...

Gdzie może leżeć błąd?Ten post został edytowany przez Autora dnia 25.06.13 o godzinie 08:55

Temat: DateTime

Przecież Jacek podał link z przykładem.
Tutaj masz podobny:
http://msdn.microsoft.com/en-us/library/bb311042.aspx

Zamiast dłubać jakieś dziwne przykłady użyj tego z linku i nie będzie problemu.Ten post został edytowany przez Autora dnia 25.06.13 o godzinie 11:44
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: DateTime

Tak, tylko to jest przykład do C# a ja potrzebuje do C++/CLI

Temat: DateTime

http://stackoverflow.com/questions/7922112/c-extension...

z ciekawości:
Dlaczego C++ a nie C# w Twoim przypadku ?Ten post został edytowany przez Autora dnia 25.06.13 o godzinie 13:12
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: DateTime

Dokładniej C++/CLI, ale co dlaczego?

Dlaczego w nim pisze?

Czy dlaczego przykład?

Temat: DateTime

Dlaczego używasz C++ z .NET - to mnie interesuje. Jakie masz z tego korzyści ?
Dlaczego wybrałeś C++ a nie C# ?
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: DateTime

Wcześniej programowałem w niezarządzanym C++ i mam parę algorytmów które mogłem po prostu skopiować i kleić do nowego projektu bez ich modyfikacji co akurat przyspieszyło moją prace.

Jak dla mnie składnia jest przyjemniejsza niż C#.

No i ostatecznie nauka nowego języka.
Nikodem Dobrzański

Nikodem Dobrzański Architekt systemu,
BizTech Konsulting
S.A.

Temat: DateTime

Czy C++, czy C#, na platformie .NET wszystko jedno. Kod pośredni prawie zawsze taki sam. Osobiście zaproponowałbym jednak naukę C#, jako wzorcowego języka platformy .NET. Bardzo ułatwia pracę.
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: DateTime

W C# pisze aplikacje na Windows Mobile i nie powiem, przyjemnie sie pisze
Adrian Kaczmarek

Adrian Kaczmarek To czy człowiek jest
in­te­ligen­tny
poz­na­je się po
je­...

Temat: DateTime

Darek, średnio widzę w C++ :)
Jeżeli nie widzisz metody rozszerzonej w DateTime, to może zapomniałeś dodać using do klasy w której masz tą metodę rozszerzającą?

2. public ref class MyDateTime abstract sealed
Klasa z metodą rozszerzającą MUSI być statyczna. Czy ta deklaracja tworzy klasę statyczną?
Przemysław Krygier

Przemysław Krygier Specjalista Systemów
Informatycznych

Temat: DateTime

A mi narzuca się dodanie klasy obsługi kalendarza ... ;)
Dariusz Bujak

Dariusz Bujak Student, młodszy
programista JAVA,
C++

Temat: DateTime

sorki ale niestety dalej nie mogę sobie z tym dać rady, może ktoś mógłby mi podesłać kod gotowej klasy.

na ten moment mam takie coś:


#pragma once

using namespace System;
using namespace System::Runtime::CompilerServices;

namespace MojeLibrary{

//[ExtensionAttribute]
public ref class MojeDateTime abstract sealed
{
public:
//[ExtensionAttribute]
static bool IsHoliday (System::DateTime _date_time)
{
return false;
}
};
}



i dalej jak stworze sobie obiekt klasy DateTime nie widze metody IsHoliday

Temat: DateTime

Rzuć okiem tutaj: http://stackoverflow.com/questions/5643734/how-to-use-...Ten post został edytowany przez Autora dnia 05.08.13 o godzinie 16:26
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Następna dyskusja:

Darmowy DateTime Picker




Wyślij zaproszenie do