2013-06-17 60 views
5

Có thể khởi tạo giá trị của một giá trị không đổi sử dụng phương pháp của một lớpKhởi tạo các biến liên tục sử dụng phương pháp (C#)

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     const int gravit = haha.habc();//something like this 
     static void Main(string[] args) 
     { 
      some codes..... 

     } 
     public class haha 
     { 
      int gar = 1; 
      public int habc() 
      { 
       int sa = 1; 
       return sa; 
      } 

     } 
    } 
} 

Ví dụ như các mã trên (FYI với mã này tôi nhận được biểu thức là được gán cho ... phải là hằng số), nếu không có phương pháp khác để làm điều gì đó tương tự như vậy.

+4

"biến cố" khá nhiều tổng kết sự hiểu lầm ở đây ;-) – Robert

Trả lời

7

Không, đó không phải là có thể, bạn có thể sử dụng readonly lĩnh vực thay vì giá trị không đổi nên được biết đến tại thời gian biên dịch:

private static readonly int gravit = haha.habc();//something like this 

Chú ý: phương pháp habc nên tĩnh nếu bạn muốn gọi nó như vậy .

+0

nhờ ok ít nhất tôi biết tôi vẫn chưa thể thực hiện điều đó – user1461511

+0

@DarinDimitrov - là 'phụ thuộc Resolver' mất tích trong dòng mã' tĩnh tin readonly int gravit = haha.habc(); '? – wuhcwdc

+0

@PankajGarg, huh? –

1

Constants là các giá trị cần được biết lúc biên dịch và không thay đổi. Vì vậy, ReadOnly là tùy chọn bạn nên sử dụng.

private readonly int gravit = haha.habc(); 
Các vấn đề liên quan