Как я могу сделать мою пустую публичной, чтобы использовать везде - PullRequest
0 голосов
/ 26 декабря 2018
public void Tarih()
{
     var baslangicTarih = DateTime.Today.AddDays(-20).Add(new TimeSpan(0, 0, 0));
     DateTime bitisTarih = DateTime.Now.Date.Add(new TimeSpan(0, 0, 0));
     TimeSpan Sonuc = bitisTarih - baslangicTarih;
}

Но когда я пытаюсь использовать "baslangicTarih" в другом пустоте, как это:

Btn1_Click
    if (result.StartDate!= null)
    {
        baslangicTarih = result.StartDate;
        bitisTarih = result.EndDate;
    }

Это говорит: "CS0103 C # Имя не существует в текущем контексте".

Как я могу использовать baslangicTarih и bitisTarih в другой ячейке (без добавления класса)?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Поскольку вы определили эти переменные в области действия этого метода, и они не будут доступны вне этого метода.Для этого вам нужны поля уровня класса.Например:

public class MyClass
{
   // now variables are at class level scope
   // all methods can access them now
   DateTime baslangicTarih;
   DateTime bitisTarih;

  public void MethodA()
  {
     baslangicTarih = DateTime.Now;
     bitisTarih = DateTime.Now;

  }

  public void MethodB()
  {
     baslangicTarih = DateTime.Now;
     bitisTarih = DateTime.Now;
  } 
}
0 голосов
/ 26 декабря 2018

Переменные доступны в методе контекста.Чтобы получить доступ везде, объявите их в классе

public class MyClass
{
     public DateTime baslangicTarih ;
     public DateTime bitisTarih;

     public void MyMethod()
     {

         if (result.StartDate!= null)
         {
             this.baslangicTarih = result.StartDate;
             this.bitisTarih = result.EndDate;
         }
...