C#.NET — Choose the correct implementation for the interface: interface IMyInterface { double MyFun(Single i); }

Difficulty: Easy

Correct Answer: class MyClass : IMyInterface { double IMyInterface.MyFun(Single i) { / code / } }

Explanation:

Introduction / Context:Interfaces declare member signatures. Implementations may be provided either implicitly (public members matching the signature) or explicitly (qualified with the interface name). This item asks you to recognize valid C# syntax for explicit interface implementation.

Given Data / Assumptions:

  • Interface: double MyFun(Single i).
  • Language: C# (not VB).

Concept / Approach:Explicit interface implementation syntax is: returnType InterfaceName.MemberName(parameters) { ... } and appears within a class that lists the interface after the colon. No access modifier is used on explicit implementations.

Step-by-Step Solution:

Option D uses correct C#: class MyClass : IMyInterface { double IMyInterface.MyFun(Single i) { ... } }Option A uses non-existent “as” syntax.Option B uses VB-like “As” and omits modifiers/return type position.Option C uses VB-like “implements” keywords; not C#.

Verification / Alternative check:Compile Option D: succeeds. Attempt A/B/C in a C# project: they fail with syntax errors.

Why Other Options Are Wrong:

  • A/B/C borrow from other languages or invent syntax not supported by C#.

Common Pitfalls:Mixing VB and C# syntax when writing interface implementations; remember explicit implementations omit access modifiers and are qualified by the interface name.

Final Answer:class MyClass : IMyInterface { double IMyInterface.MyFun(Single i) { / code */ } }

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion