# VerifyLicenseKeyDelegate delegate

Namespace: [Rhino.PlugIns](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.plugins.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public delegate VerifyLicenseKeyDelegate
```

Called by Rhino to verify a license key. For details, see http://developer.rhino3d.com/guides/rhinocommon/rhinocommon-zoo-plugins/

**Signature:**

```cs
ValidateResult VerifyLicenseKeyDelegate(string licenseKey, string validationCode, DateTime validationCodeInstallDate, bool gracePeriodExpired, out LicenseData licenseData)
```

**Parameters:**

- `licenseKey` ([string](https://learn.microsoft.com/dotnet/api/system.string)): A license key string. Will be null if user clicks Evaluate.
- `validationCode` ([string](https://learn.microsoft.com/dotnet/api/system.string)): An optional validation code, passed on a second call to ValidateProductKeyDelegate if the first call set LicenseData.RequiresOnlineValidation to true
- `validationCodeInstallDate` ([DateTime](https://learn.microsoft.com/dotnet/api/system.datetime)): The date the validation code was saved
- `gracePeriodExpired` ([bool](https://learn.microsoft.com/dotnet/api/system.boolean)): Whether the validation grace period has passed
- `licenseData` (out [LicenseData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.plugins.licensedata.md)): Output parameter where your delegate can set return data, such as error messages to display to the user.
