C#: Converting string to namespace
        Posted  
        
            by Am
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Am
        
        
        
        Published on 2010-03-20T21:25:32Z
        Indexed on 
            2010/03/20
            21:31 UTC
        
        
        Read the original article
        Hit count: 157
        
Hi,
I have an interface named IHarvester.
There are 3 implementations of that interface, each under their own namespace:
- Yahoo
- Bing
A HarvesterManager uses the given harvester. It knows the interface and all 3 implementations.
I want some way of letting the class user say in which harvester it wants to use. And in the code select that implementation, without a switch-case implementation.
Can reflection save my day?
Here is the code bits:
// repeat for each harvester
namespace Harvester.Google
{
    public abstract class Fetcher : BaseHarvester, IInfoHarvester {...}
}
public enum HarvestingSource
{
    Google,
    Yahoo,
    Bing,
}
class HarvesterManager {
    public HarvestingSource PreferedSource {get;set;}
    public HarvestSomthing()
    {
        switch (PreferedSource) .... // awful...
    }
}
Thanks.
© Stack Overflow or respective owner