Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C#] elenco attributi di un oggetto

    Ciao a tutti, stavo lavorando a un'idea, praticamente sto realizzando una piccola e molto semplice libreria di logica fuzzy e mi sono trovato davanti un problema (premetto che è da poco che programmo in c#...abbiate pazienza se scrivo castronerie...):

    Ho una classe principale FuzzySet che ha come attributi una collezione di fuzzy membri (un punto cartesiano x,y) e una descrizione e poi ho una classe FuzzyNumber che eredita FuzzySet e ha in + un attributo tipo (es. Triangolare, Trapezoidale, Quadratico).
    codice:
    public class FuzzySet
        {
            #region Private Variables
    
            /// <summary>
            /// Un Fuzzy Set ha come attributi un insieme di membri o di Fuzzy Set e una descrizione
            /// </summary>
            private FuzzySetCollection fuzzySets;
            protected FuzzyMemberCollection fuzzyMembers;
            protected String name;
    
            public FuzzySet(FuzzyMemberCollection coll, String name) 
            {
                this.fuzzyMembers = coll;
                this.name = name;
            }
    
    // .....etc....
    }
    
    public class FuzzyNumber : FuzzySet
        {
            #region Private Variables
    
            /// <summary>
            /// tipologia di fuzzy Number: triangolare, trapezoidale, quadratico, normalizzato
            /// </summary>
            private String type;
    
            #endregion
    
            #region Constructor
    
            public FuzzyNumber(FuzzyMemberCollection coll, String name, String type) : base(coll, name) 
            {
                this.type = type;
            }
            
            #endregion
    }
    Ho anche un oggetto Collection FuzzySetCollection che ha un metodo find che cerca il fuzzy set con quella descrizione.
    codice:
    public FuzzySet find(String name) 
            {
                foreach (FuzzySet set in this) 
                {
                    if (set.Name.Equals(name)) { return set; }
                }
    
                return null;
            }
    Il problema sta quando per calcolare il valore di verità di una proposizione tipo 35° è caldo io cerco il fuzzy set caldo lo trovo e devo capire se è un fuzzy number...visto che la classe fuzzy number ha in più l'attributo type pensavo di fare un metodo nella classe fuzzy set che controlla se quell'oggetto ha l'attributo type e nel caso fa un cast a fuzzy number...qualcuno ha qualche idea?

    Spero di non essere stato troppo contorto...grazie a tutti!

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,287
    Se il tu problema è sapere solo se puoi fare o meno il cast dell'oggetto puoi usare

    In vb esisterebbe TryCast
    In c#potresti usare "is"
    if (wFuzzySet is FuzzyNumber)
    Ma non so come si comporta esattamente.

  3. #3
    Praticamente si...Il problema è capire se l'oggetto Fuzzy Set che prendo può essere convertito in un Fuzzy Number...io pensavo di vedere se l'oggetto preso avesse settato l'attributo type e nel caso fare un cast....proverò a fare come dici...grazie mille intanto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.