maintenant la persistance detecte automatiquement les iregles

master
Céleste BARBOSA 6 months ago
parent 0298fe35f4
commit 04b3f49a14

3
.gitignore vendored

@ -861,4 +861,5 @@ FodyWeavers.xsd
# JetBrains Rider
*.sln.iml
/Sources/Fichiers/*
/Sources/Fichiers/*
Sources/Fichiers/*

@ -10,8 +10,6 @@ namespace CoreLibrary.Joueurs
/// Représente un joueur.
/// </summary>
[DataContract]
[KnownType(typeof(ReglesClassiques))]
[KnownType(typeof(ReglesDifficiles))]
public class Joueur : IEstPersistant
{
/// <summary>

@ -12,8 +12,6 @@ namespace CoreLibrary
/// Classe représentant une partie.
/// </summary>
[DataContract]
[KnownType(typeof(ReglesClassiques))]
[KnownType(typeof(ReglesDifficiles))]
public class Partie : IEstPersistant
{
/// <summary>

@ -3,6 +3,7 @@ using System.Text;
using System.Diagnostics.CodeAnalysis;
using System.Xml;
using CoreLibrary.Persistance;
using CoreLibrary.Regles;
namespace Persistance.Persistance
{
@ -54,7 +55,11 @@ namespace Persistance.Persistance
if (!File.Exists(fichier))
return [];
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T[]));
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(
typeof(T[]),
typeof(IRegles).Assembly.GetTypes()
.Where(type => typeof(IRegles).IsAssignableFrom(type) && type.IsClass)
);
T[]? elements;
using (FileStream s = File.OpenRead(fichier))
@ -80,7 +85,11 @@ namespace Persistance.Persistance
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), nomDossier));
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T[]));
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(
typeof(T[]),
typeof(IRegles).Assembly.GetTypes()
.Where(type => typeof(IRegles).IsAssignableFrom(type) && type.IsClass)
);
using (FileStream s = File.Create(fichier))
{

Loading…
Cancel
Save