2013-09-23 8 views
24

मैं एक enum घोषणा की हैपास

public class File 
{ 
    public string Id { get; set; } 
    public string Name { get; set; } 
    public string Description { get; set; } 
    public SupportedPermissions SupportedPermissions { get; set; }  
} 

अब मैं एक विधि बनाना चाहेंगे कि मैं यह कर सकते हैं के साथ एक नई फ़ाइल वस्तु बनाने के लिए उपयोग करें:

public string CreateFile(string id, string name, string description, Enum supportedPermissions) 
{ 
    file = new File 
    { 
     Name = name, 
     Id = id, 
     Description = description, 
     SupportedPermissions = supportedPermissions.basic 
    }; 

    return file.Id; 
} 

मैं enum के लिए पैरामीटर कैसे बना होगा और उसे कितने मैं आवंटित होता है कि मेरी छद्म कॉड में की तरह ई SupportedPermissions = supportedPermissions.basic ताकि मेरे फ़ाइल इंस्टेंस में एक समर्थित पैरामिशन सेट हो?

+0

होना चाहिए यह एक बुरा सवाल है? मतदान के लिए कारण? –

+2

विधि को कॉल करते समय पैरामीटर में समर्थित Permissions.basic पास करें गुण को गुणित समर्थित पैरामीटर सेट करें। उम्मीद है कि यह – Akanksha

+0

मदद करता है डाउनवोट नामकरण का कारण नामकरण की तरह परिवर्तनीय है। – tmighty

उत्तर

28

सादा एनम के बजाय SupportedPermissions मान की अपेक्षा करने के लिए CreateFile विधि के हस्ताक्षर को बदलें।

public string CreateFile(string id, string name, string description, SupportedPermissions supportedPermissions) 
{ 
    file = new File 
    { 
     Name = name, 
     Id = id, 
     Description = description, 
     SupportedPermissions = supportedPermissions 
    }; 

    return file.Id; 
} 

तब जब आप अपने विधि कॉल आप SupportedPermissions मूल्य अपने विधि

var basicFile = CreateFile(myId, myName, myDescription, SupportedPermissions.basic); 
4

करने के लिए आप मूल्य में पारित करने के लिए उपयोग करना चाहते हैं गुजरती हैं, आप enum प्रकार आप की घोषणा की और सीधे उपयोग करने के लिए आपूर्ति किए गए मान का उपयोग करें:

public string CreateFile(string id, string name, string description, 
       /* --> */ SupportedPermissions supportedPermissions) 
{ 
    file = new File 
    { 
     Name = name, 
     Id = id, 
     Description = description, 
     SupportedPermissions = supportedPermissions // <--- 
    }; 

    return file.Id; 
} 

यदि आप इसके बजाय एक निश्चित मान का उपयोग करना चाहते हैं, तो आपको किसी भी पैरामीटर की आवश्यकता नहीं है। इसके बजाय, सीधे enum मान का उपयोग करें। वाक्य रचना एक वर्ग के एक स्थिर सदस्य के समान है:

public string CreateFile(string id, string name, string description) // <--- 
{ 
    file = new File 
    { 
     Name = name, 
     Id = id, 
     Description = description, 
     SupportedPermissions = SupportedPermissions.basic // <--- 
    }; 

    return file.Id; 
} 
0
public string CreateFile(string id, string name, string description, SupportedPermissions supportedPermissions) 
{ 
    file = new File 
    { 
     Name = name, 
     Id = id, 
     Description = description, 
     SupportedPermissions = supportedPermissions 
    }; 

    return file.Id; 
} 
3

पहले SupportedPermissions supportedPermissions को विधि पैरामीटर Enum supportedPermissions बदल जाते हैं।

फिर इस

file = new File 
{ 
    Name = name, 
    Id = id, 
    Description = description, 
    SupportedPermissions = supportedPermissions 
}; 

और की तरह अपने फ़ाइल बनाने के तरीके के लिए कॉल

CreateFile(id, name, description, SupportedPermissions.basic); 
संबंधित मुद्दे