liten nybörjarfråga.. Kanske kan fungera med nått sånthär: Du verkar inte initiera storleken på arrayen fff. Om Films är en klass som har en publik ArrayList som heter notInStore så har du satt hakparenteserna på fel ställe. Ska vara: Du verkar inte initiera storleken på arrayen fff. Sorry min films klass serut som följer..: NotInStore är bara ett fält i klassen FIlms..Ej en Arraylist.. Är det nåt sånt här du vill göra? Är det nåt sånt här du vill göra? Jag skulle tro att det är något sånt här du vill göra.Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..?
Jag har en int, i, som mosvarar platsen i arraylistan där värdet på variabeln notInStore skall ändras från false till true..
jag ville göra ngt liknande detta, men det funkar ju ej..:
Films fff = new Films();
fff[i].notInStore = true;
tips?
Tacksamför svar..
MvH FSv: Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
Films tmp = fff[i] as Films;
tmp.notInStore = true;
fff[i] = tmp;
/JohanSv: Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
Sv: Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
Films fff = new Films();
fff.notInStore[i] = true;
Sv: Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
[edit]
Visa gärna lite mer info om hur din klass Films ser ut.Sv:Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
(varje film är ett objekt i en arraylist)
class Films
{
private string filmTitle; //Klassens fält deklareras
private double price;
private int releaseYear;
private ArrayList actorArray; //Arraylist med skådespelare i den aktuella filmen
private float duration;
private bool notInStore;
private int filmId;
public enum MediaType { VHS = 1, DVD = 2 }
public enum GenreType { Action = 1, Drama = 2, Comedy = 3, Horror = 4 ,Scifi = 5}
private static int instanceFilm = 0;
private MediaType media;
private GenreType genre;
#region constructors
public Films(bool notInStore_i) //vet ej om jag behöver denna?
{
notInStore = notInStore_i;
}
public Films()
{
instanceFilm++;
}
public Films(int filmId_i, string filmTitle_i, double price_i, int releaseYear_i, float duration_i,ArrayList actorArray_i, MediaType media_i, GenreType genre_i)
{
media = media_i;
genre = genre_i;
filmId = filmId_i;
filmTitle = filmTitle_i;
price = price_i;
releaseYear = releaseYear_i;
duration = duration_i;
actorArray = actorArray_i;
instanceFilm++; //indexvariabel
}Sv:Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
Sv: Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
private static int instanceFilm = 0;
private static System.Collections.Generic.List<Films> instances = new System.Collections.Generic.List<Films>();
public Films()
{
instanceFilm++;
instances.Add(this);
}
public Films(String enAnnanParameter) : base()
{
}
static public Films getInstance(int i)
{
return instances[i];
}
//...//
fff.getInstance(i).notInStore = false;
D.v.s. att klassen Films (varför plural?) själv håller reda på vilka objekt som instansierats?
Sv: Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
class Films
{
private static int instanceFilm = 0;
private static System.Collections.Generic.List<Films> instances = new System.Collections.Generic.List<Films>();
public Films()
{
instanceFilm++;
instances.Add(this);
}
public Films(String enAnnanParameter) : base()
{
}
static public Films getInstance(int i)
{
return instances[i];
}
}
//...//
fff.getInstance(i).notInStore = false;
D.v.s. att klassen Films (varför plural?) själv håller reda på vilka objekt som instansierats?
Sv: Ändra boolean variabel i en arraylist i en annan klass...Hur gör jag detta..
Döp om klassen Films till Film eftersom den representerar 1 film.
I Klassen måste du antingen göra fältet NotInStore Publict för att kunna komma åt det eller ännu bättre så skapar du Public Property för att komma åt fältets data.
<code>
class Film
{
private string filmTitle; //Klassens fält deklareras
private double price;
private int releaseYear;
private ArrayList actorArray; //Arraylist med skådespelare i den aktuella filmen
private float duration;
private bool notInStore;
private int filmId;
public enum MediaType { VHS = 1, DVD = 2 }
public enum GenreType { Action = 1, Drama = 2, Comedy = 3, Horror = 4, Scifi = 5 }
private static int instanceFilm = 0;
private MediaType media;
private GenreType genre;
#region constructors
//Har tagit bort detta för att minska inläggets storlek.
#endregion
#region Public properities
public bool NotInStore
{
get { return notInStore; }
set { notInStore = value; }
}
#endregion
</code>
Och koden som använder din klass
<code>
int i;
//Skapa en array som kan innehålla 20 filmer
Film[] filmer = new Film[20];
//Skapa instanser av Film i varje position i arrayen
for (i = 0; i < filmer.Length; i++)
filmer[i] = new Film();
//Set NotInStore för filmer index 5
i = 5;
filmer[i].NotInStore = true;
</code>