Dec 14

How to: Convert a string into an Enum in C#.Net

Recently I came across the need to convert a string stored in the database into an enumeration in our application. I wasn’t really excited about having to write a switch statement nor having to maintain that code. Fortunately there is a command in .Net that allows you to parse that string into any enumeration which is a great help! Below is a sample of how to use Enum.Parse():

        /// <summary>
        /// This procedure generates the Permissions Mask necessary so that the correct permissions are applied by combining all the Masks that belong to a Security Permission Level
        /// </summary>
        /// <param name=”permissionLevel”>The Permission level for which the mask needs to be calculated</param>
        /// <returns></returns>
        private static Microsoft.SharePoint.SPBasePermissions GeneratePermissionMask(Security___Permission_Levels permissionLevel)
        {
            Microsoft.SharePoint.SPBasePermissions permissionMask = Microsoft.SharePoint.SPBasePermissions.EmptyMask;
            Type SPBasePermissionType = typeof(Microsoft.SharePoint.SPBasePermissions);
            foreach (Model.Security___Permissions_definition individualPermissionValue in permissionLevel.Security___Permissions_definition)
            {
                permissionMask |= (Microsoft.SharePoint.SPBasePermissions)Enum.Parse(SPBasePermissionType, individualPermissionValue.Security_Mask, true);
            }
            return (Microsoft.SharePoint.SPBasePermissions)permissionLevel.Permissions;
        }

Leave a Reply

%d bloggers like this: