Search This Blog

Tuesday, June 19, 2018

Class method and instance method trong C#

Class method and instance method trong C#

Vì đọc bài này nên tự nhiên nghĩ đến static method (class method) & normal method (instance method) trong C#. Vậy nên viết cái này
Không giống Ruby, trong C# thì class method và instance method không đa hình, nghĩa là nếu viết như này:

    public class Animal
    {
        public static void Hello()
        {
        }
        public void Hello()
        {
        }
    }

Các bạn sẽ bị lỗi:

CS0111 Type ‘Animal’ already defines a member called ‘Hello’ with the same parameter types

Còn khi gọi, thì cũng giống Ruby, static method không thể được gọi từ 1 instance mà phải gọi từ class

class Program
    {
        static void Main(string[] args)
        {
            Animal a = new Animal();
            Animal.Hello();
            a.Hello();  //Error: CS0176 
            a.HelloHuman();
        }
    }

CS0176 Member ‘Animal.Hello()’ cannot be accessed with an instance reference; qualify it with a type name instead

Written with StackEdit.

No comments:

Post a Comment

PHÂN BIỆT QUẢN TRỊ VÀ QUẢN LÝ

PHÂN BIỆT QUẢN TRỊ VÀ QUẢN LÝ Hội đồng quản trị, tiếng Anh là BOD (Board Of Directors). Còn Ban giám đốc hay Ban quản lý tiếng Anh là BOM (B...