Diskuze: Null Reference u nového objektu (C#)
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 17 zpráv z 17.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Místo abys definoval Game1 jako statický atribut třídy, zkus:
Game1 game = new Game1()
Stejný problém, původně byla chyba označována v konstruktoru Game1 (i prázdném) pak jsem kostruktor odstranil a je přímo v Program.cs
Podle všeho se ta výjimka vyhodí během inicializace třídy.
nebo
Nikdo neví, jak v C# funguje static, takže je lepší to slovo moc nepoužívat.
Vím. Původně bylo v souboru vygenerováno
using (Game1 game = new Game1())
{
game.Run();
}
ale to taky nefunguje
InnerException je null, takže se nemám kam proklikat
V tom případě je to ve statickém inicializéru třídy. Udělej postup, který jsem popsal ve (2).
To jsem taky zkoušel a zastaví se to na stejném řádku se stejnou chybou. Dokud třída Game1 dědí z Microsoft.Xna.Framework.Game tak chyba nastane vždy...
Hmm, není nad nativní kód Nejspíš špatně inicializuješ něco okolo XNA. Občas nezbývá,
než zakomentovat co největší kus kódu a po částech zkoušet, která
část způsobí chybu.
Chyba
public class Game1 : Game
{
}
V pořádku
public class Game1 //: Game
{
}
Třída Game je přímo v knihovnách SharpDx takže s tím asi nic nenadělám...
Už si ani nevspomínám jestli to bylo součástí monogame nebo jsem to někde stáhl. Jo, prázdná třída je správně, žádná chyba, program se jen spustí, neudělá nic a zase se ukončí.
Snažím se tu celou dobu vzpomenout jak jsem to vyřešil - měl jsem jednou podobný problém. Snad si vzpomenu a dám vědět
Díky, ale to není v Xna... SharpDx má akorát stejně pojmenované knihovny aby bylo snažší přepsat projekt z Xna do SharpDx
Zobrazeno 17 zpráv z 17.