Do you perhaps have some pseudo code? Are you talking about returning multiple values?
If you are talking about returning mulitple values then perhaps look at creating a class that contains the data properties you are going to need otherwise you could look at using a method which makes use of 'out' parameters.
Again, pseudo code would be extremly helpful in figuring out how to solve your problem
there is a bit of a flaw in your model. First up you are going to have to create some sort of object model to properly achieve this.
Something like
class Cop{
private IList<License> _licenseList;
public IList<License> LicenseList {
// the ?? is a null check so if the _licenseList is null
// it will create a new instance of it for you. Short hand for
// an if statement checking if it is null.
get { return _licenseList ?? (_licenseList = new List<License>()); }
set { _licenseList = value; }
}
}
class License {
public LicenseType LicenseType { get; set; }
}
enum LicenseType {
Driver,
Pilot,
Diver
}
Then to achieve what you are doing you could do something like
var cop = new Cop();
//This will probably be populated from some data store.
cop.LicenseList.Add(new License{LicenseType = LicenseType.Driver});
//To query the licenses you can use lambda expressions
//List of all Drivers licenses
var driversLicenseList = cop.LicenseList.Where(x => x.LicenseType == LicenseType.Drivers);
//The first drivers license in the list
var firstDriversLicense = cop.LicenseList.FirstOrDefault(x=>x.LicenseType == LicenseType.Drivers);
This will give you the license. You can increase the declerations of the license class to include things like id numbers or the person the license belongs to, expiry date etc etc.