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ật giáo vs cúng sao

Nhiều người nói Phật giáo bây giờ biến tướng, cúng sao giải hạng mê tín dị đoan... Nhưng mất đi cái đó rồi, nhóm những con người có ít họ...