Jump to content

C# Classlar Içinde Statik Function Hatası


lamont
 Share

Recommended Posts

arkadaşlar Statik Function tanımlamalarına küçük bir örnek kodla yazıoyrdum hata aldım sorun nedir

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApplication13
{
    class ders
    {
        static void Main(string[] args)
        {

        }

        static void adsoyad()
        {
            string a, b;
            a = textBox1.Text;
            b = textBox2.Text;
            label1.Text = (" merhaba" + " " + a + "" + B);
        }

    }
}

 

Hata:
Error 1 The name 'textBox1' does not exist in the current context c:\users\asus\documents\visual studio 2012\Projects\WindowsFormsApplication13\WindowsFormsApplication13\ders.cs 19 17 WindowsFormsApplication13
 
Error 2 The name 'textBox2' does not exist in the current context c:\users\asus\documents\visual studio 2012\Projects\WindowsFormsApplication13\WindowsFormsApplication13\ders.cs 20 17 WindowsFormsApplication13
 
Error 3 The name 'label1' does not exist in the current context c:\users\asus\documents\visual studio 2012\Projects\WindowsFormsApplication13\WindowsFormsApplication13\ders.cs 21 13 WindowsFormsApplication13
 
Edited by lamont
Link to comment
Share on other sites

  • Editor
        public class iletisim
        {
            public static string adsoyad()
            {
                return "Deneme";
            }

            public int yas()
            {
                return 1;
            }
        }

bu yukarıdaki class bi örnek class şimdi burada birtane string birtanede int void var. birisi adsoyad birisi yas.

 

bunlara erişirken kullandığın o static önemli. Çünkü static kullandığım adsoyad derleme zamanında memory e yüklenir ve doğal olarak

iletisim.adsoyad olarak erişebilirsin.

Ama alttaki yani yas void i static olmadığı için 

 

ona erişe bilmen için.

iletisim ilet = new iletisim();
ilet.yas();

demen lazım.

aradaki fark bu.

 

Belleğin stack ve heap alanlarını araştır.

Link to comment
Share on other sites

Ortalarda olmayan, hiç yaratılmamış Form öğesini kod içerisinde kullanmışsın. Tasarım moduna geçip, form içerisinde 2 textbox ve 1 label ekleyip, isimlerini değiştirirsen sorun düzelecektir. 

 

Açtığın konular göz önüne alınır ise, kod yazmaya karşı becerinizin olmadığı ortada. Basit bile olsa bir program yazılır iken, kullanılacak kodlar ve işleyişleri ile ilgili bilgiye sahip olmalısınız. İşleyişini bilmeden ezbere kod yazarak bu işi öğrenemezsiniz. Ezbere kod yazarak veya bir kaynaktan alınan kodu kendi programınıza entegre etmeye çalışmak her zaman için hatalara neden olacaktır. Bu konudaki sorunuzda olduğu gibi, Console uygulamasından aktarılan kod, WinForm uygulamasında hata verecektir. Nedeni ise, WinForm uygulamalarında kullanılan nesnelerin IDE tarafında tanımlanması gerekliliğidir. Sizin uygulamanızda şu anda TextBox ve Label nesneleri olmadığı için The name 'textBox1' does not exist in the current context (textBox1 ismi geçerli içerikte mevcut değil) uyarısı almaktasınız. Öncelik ile C# programlama dilinin çalışma yapısını ve kodlama mantığını anlatacak eğitim materyallerini inceleyerek işe başlayın. Yoksa, Console.WriteLine ("Hello World !"); yazmak ile program yazmaya başlamak olmuyor malesef !

 

Haydi kolay gele !

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...