logo

CuriousTab

CuriousTab

Delegates problems


  • 1. Which of the following statements are correct about the delegate declaration given below?

        delegate void del(int i);
    1. On declaring the delegate a class called del will get created.
    2. The signature of del need not be same as the signature of the method that we intend to call using it.
    3. The del class will be derived from the MulticastDelegate class.
    4. The method that can be called using del should not be a static method.
    5. The del class will contain a one-argument constructor and an lnvoke() method.

  • Options
  • A. 1, 2 and 3 only
  • B. 1, 3 and 5 only
  • C. 2 and 4 only
  • D. 4 only
  • E. All of the above
  • Discuss
  • 2. In which of the following areas are delegates commonly used?

    1. Remoting
    2. Serialization
    3. File Input/Output
    4. Multithreading
    5. Event handling

  • Options
  • A. 1 and 2 only
  • B. 1 and 5 only
  • C. 1, 2 and 3 only
  • D. 4 and 5 only
  • E. All of the above
  • Discuss
  • 3. Which of the following statements is incorrect about delegate?

  • Options
  • A. Delegates are reference types.
  • B. Delegates are object oriented.
  • C. Delegates are type-safe.
  • D. Delegates serve the same purpose as function pointers in C and pointers to member function operators in C++.
  • E. Only one method can be called using a delegate.
  • Discuss
  • 4. Which of the following is the necessary condition for implementing delegates?

  • Options
  • A. Class declaration
  • B. Inheritance
  • C. Run-time Polymorphism
  • D. Exceptions
  • E. Compile-time Polymorphism
  • Discuss
  • 5. Which of the following is the correct way to call subroutine MyFun() of the Sample class given below?

    class Sample
    {
        public void MyFun(int i, Single j)
        {
            Console.WriteLine("Welcome to CuriousTab !");
        }
    }

  • Options
  • A.
    delegate void del(int i);
    Sample s = new Sample();
    del d = new del(ref s.MyFun);
    d(10, 1.1f);
  • B.
    delegate void del(int i, Single j);
    del d;
    Sample s = new Sample();
    d = new del(ref s.MyFun);
    d(10, 1.1f);
  • C.
    Sample s = new Sample();
    delegate void d = new del(ref MyFun);
    d(10, 1.1f);
  • D.
    delegate void del(int i, Single]);
    Sample s = new Sample();
    del = new delegate(ref MyFun);
    del(10, 1.1f);
  • Discuss
  • 6. Which of the following statements are correct about a delegate?

    1. Inheritance is a prerequisite for using delegates.
    2. Delegates are type-safe.
    3. Delegates provide wrappers for function pointers.
    4. The declaration of a delegate must match the signature of the method that we intend to call using it.
    5. Functions called using delegates are always late-bound.

  • Options
  • A. 1 and 2 only
  • B. 1, 2 and 3 only
  • C. 2, 3 and 4 only
  • D. All of the above
  • E. None of the above
  • Discuss
  • 7. With which of the following can the ref keyword be used?

    1. Static data
    2. Instance data
    3. Static function/subroutine
    4. Instance function/subroutine

  • Options
  • A. 1, 2
  • B. 3, 4
  • C. 1, 3
  • D. 2, 4
  • E. All of the above
  • Discuss
  • 8. Which of the following are the correct ways to declare a delegate for calling the function func() defined in the sample class given below?

    class Sample
    {
        public int func(int i, Single j)
        {
            /* Add code here. */
        }
    }

  • Options
  • A. delegate d(int i, Single j);
  • B. delegate void d(int, Single);
  • C. delegate int d(int i, Single j);
  • D. delegate void (int i, Single j);
  • E. delegate int sample.func(int i, Single j);
  • Discuss
  • 9. Which of the following is the correct way to call the function MyFun() of the Sample class given below?

    class Sample
    {
        public int MyFun(int i)
        {
            Console.WriteLine("Welcome to CuriousTab.com !" );
            return 0;
        }
    }

  • Options
  • A.
    delegate void del(int i);
    Sample s = new Sample();
    deld = new del(ref s.MyFun);
    d(10);
  • B.
    delegate int del(int i);
    Sample s = new Sample(.);
    del = new delegate(ref MyFun);
    del(10);
  • C.
    Sample s = new Sample();
    delegate void del = new delegate(ref MyFun);
    del(10);
  • D.
    delegate int del(int i);
    del d;
    Sample s = new Sample();
    d = new del(ref s.MyFun);
    d(10);
  • Discuss
  • 10. Which of the following statements are correct about delegates?

    1. Delegates are not type-safe.
    2. Delegate is a user-defined type.
    3. Only one method can be bound with one delegate object.
    4. Delegates can be used to implement callback notification.
    5. Delegates permit execution of a method on a secondary thread in an asynchronous manner.

  • Options
  • A. 1 and 2 only
  • B. 1, 2 and 3 only
  • C. 2, 4 and 5 only
  • D. 4 and 5 only
  • E. All of the above
  • Discuss

First 2