2014-12-29 3 views
-1

Я создал класс с 3 свойствами. Класс называется «Testi», между его свойствами называется «PercorsoFile». Затем я создал список «Testi», каждый объект имеет свойство 3. Затем я создаю метод, который принимает в качестве параметра случайный объект среди всех созданных. Это пример (с комментариями):Как создать случайный объект компилятором?

private async Task<string> LetturaTestoVeloce (Testi Testoveloce) 
     { 
      //TestoStorageFile = await StorageFile.GetFileFromPathAsync(Testoveloce[new Random().Next(1,10)].PercorsoFile); 
      return await FileIO.ReadTextAsync(TestoStorageFile);    
     } 

Сообщения компилятора об ошибках мне. Я не использую круглые скобки [] Есть ли что-нибудь еще? EDIT: Ошибка: Невозможно применить индексирование с [] к выражению типа «Тести»

+0

где 'TestoStorageFile' это взялось? – Tigran

+0

Пожалуйста, укажите точный текст ошибки компилятора [в качестве редактирования вопроса] (http://stackoverflow.com/posts/27696840/edit) –

+0

@Tigran 'StorageFile TestoStorageFile;'. EDIT: Я включил ошибку – prova2

ответ

1

ошибка означает, что вы не можете использовать [] для доступа к некоторому значению в Testi типа.

Testoveloce[..] - тип Testi и, по-видимому, не является коллекцией любого типа. Есть, кстати, возможность включить acess через [], но это зависит от что вы хотите и как вы хотите сделать.

Например:

public class Testi 
{ 
    /*special indexer property*/ 
    public string this[int index] 
    { 
     //return a path based on index 
    } 
} 

здесь я использовал C# специфический Indexed Property

+0

Я понял, но тогда есть другой способ? – prova2

+0

@ prova2: Я отредактировал свой ответ ... – Tigran

+0

Я пытаюсь: 'public string this [int index] { get {return nuovoTesto [index]; } set {nuovoTesto [index] = значение; } } Testi nuovoTesto = new Testi(); 'Новая ошибка теперь:« Строка »не содержит определения для« percorsoFile », и никакой метод расширения« percorsoFile », принимающий первый аргумент строки типа, не может быть найден» – prova2