FileInfo'da string[] Hatası

Hello

Hectopat
Katılım
2 Temmuz 2014
Mesajlar
555
Makaleler
2
Daha fazla  
Cinsiyet
Erkek
Bu illet sorun üzerinde epeydir düşünüyorum nasıl kurtulurum diye ama bir arpa boyu yol alamadım. Aşağıda ki kodda bir sorun çıkarmadan çalışıyor ama yapmak istediğim şeye ulaşamıyorum, şöyle ki; Aşağıda ki kodda dosyaların dosya yolunu alıp listbox2'ye ekliyor ve çalıştırıyor, yapmak istediğim ise dosya yolu olmadan çalıştırmak. Bunun için string[] türünü kullanıyorum o zaman da 2. Kodda ki sorun çıkıyor ortaya çıkıyor sorun " Cannot implicitly convert type "string" to "string[]". 3. kod ise listbox2'ye eklenen .mp3 uzantılı dosyaları çalıştırmak için. 2. koddaki "string[] fileNames, FileInfos;" satırını "string fileNames, FileInfos" yapınca dosya yolsuz ekliyor listbox2'ye ancak çalıştırmayı deneyince media.Source satırı patlak veriyor. Faydalı yardımlarınızı bekliyorum sabırsızlıkla.


Kod:
  {
           
            string fileNames;
            string FileInfos;


            string path = text.Text;

            DirectoryInfo direcInfo = new DirectoryInfo(path);


            FileInfo[] files = direcInfo.GetFiles("*.mp3");

            foreach (FileInfo fileInfo in files)
            {

                
                fileNames = fileInfo.Name;
                FileInfos = fileInfo.FullName;
                listbox2.Items.Add(fileNames);
               
            }
2. Kod;
Kod:
 string[] fileNames, FileInfos;


            string path = text.Text;

            DirectoryInfo direcInfo = new DirectoryInfo(path);


            FileInfo[] files = direcInfo.GetFiles("*.mp3");

            foreach (FileInfo fileInfo in files)
            {

                // Buradaki fileInfo.Name ile fileInfo.FullName sorun çıkartıyor.

                fileNames = fileInfo.Name;
                FileInfos = fileInfo.FullName;
                listbox2.Items.Add(fileNames);
               
            }
3. Kod
Kod:
{
            media2.Source = new Uri(listbox2.SelectedItem.ToString());
            media2.Play();
}
 
Proje dosyanızı paylaşın, ben size istediğiniz gibi hale getirip proje dosyanızı paylaşayım. Array kullanmak yerine List<Sınıf> kullanabilirsiniz ve ya string array yerine Sınıf[] şeklinde array kullanın. Sınıfı istediğiniz gibi oluşturun. Sınıfın özellikleri (property) ve ya yerel olmayan alanlarını (field) çağırarak listbox'da istediğiniz özelliğin gözükmesini sağlayabilirsiniz. Şu anda sizin istediğiniz sınıftaki özellikler filenames ve fileinfos değişkenleri olacak. Daha sonra Listbox herhangi bir elemanını çağırdığınızda bu eleman oluşturduğunuz sınıf olacağı için sınıfın fileinfos özelliğini çekme şansınız olur.

Bu durum için direk fileinfo nesnesini listbox'a ekleyerek name ve fullname özelliklerini istediğiniz gibi kullanabilirsiniz. Birazdan örnek proje yollayacağım incelersiniz.
 
İlgilendiğiniz için teşekkürler öncelikle, proje istedediğiniz için tamamen yükledim projeyi. Sizin örneğinizi de inceleyeceğim. Hello.rar şifresi; hello.

 
Size örnek hazırladım. Faydalı olacaktır. MVVM yöntemini uygularsanız kodunuz derli toplu olur. Arayüz ile kodu ayırmış olursunuz. Verileri arayüze binding ile bağlarsınız.
MediaPlayer.rar

Sizin projenizi de elden geçirip yolluyorum. bin, obj, pictures, packages, publish klasörlerini fazla yer kaplamasın diye dahil etmiyorum. Siz onları kendi klasörünüzden eklersiniz.
Hello.rar
 
Projeyi kendime uyarladım ve şuan güzel bir şekilde çalışıyor. Oluşturduğunuz Class'daki "DataContract" ve "DataMember"metodlarını hiç görmemiştim, sayenizde onlar hakkında da bilgi sahibi olmaya çalışçam, yardımınız için teşekkürler.
 
Uyarı! Bu konu 11 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Geri
Yukarı