public sealed class ProductSet : IMessage<ProductSet>, IEquatable<ProductSet>, IDeepCloneable<ProductSet>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Vision v1 API class ProductSet.
A ProductSet contains Products. A ProductSet can contain a maximum of 1
million reference images. If the limit is exceeded, periodic indexing will
fail.
Output only. The time at which this ProductSet was last indexed. Query
results will reflect all updates before this time. If this ProductSet has
never been indexed, this timestamp is the default value
"1970-01-01T00:00:00Z".
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the \u003ccode\u003eProductSet\u003c/code\u003e class within the Google Cloud Vision v1 API is 3.7.0, with multiple previous versions available, ranging down to version 2.3.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eProductSet\u003c/code\u003e is a class that contains Products and can hold up to 1 million reference images; it is part of the \u003ccode\u003eGoogle.Cloud.Vision.V1\u003c/code\u003e namespace, which is within the \u003ccode\u003eGoogle.Cloud.Vision.V1.dll\u003c/code\u003e assembly.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eProductSet\u003c/code\u003e class implements multiple interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits from \u003ccode\u003eobject\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eProductSet\u003c/code\u003e instances can be created using the \u003ccode\u003eProductSet()\u003c/code\u003e constructor, either as an empty object, or by providing another \u003ccode\u003eProductSet\u003c/code\u003e object, using the \u003ccode\u003eProductSet(ProductSet other)\u003c/code\u003e constructor, for initialization.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of a \u003ccode\u003eProductSet\u003c/code\u003e include \u003ccode\u003eDisplayName\u003c/code\u003e for the user-provided name, \u003ccode\u003eIndexError\u003c/code\u003e to indicate indexing issues, \u003ccode\u003eIndexTime\u003c/code\u003e to show the last indexing time, and \u003ccode\u003eName\u003c/code\u003e for the resource name.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Vision v1 API - Class ProductSet (3.7.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.7.0 (latest)](/dotnet/docs/reference/Google.Cloud.Vision.V1/latest/Google.Cloud.Vision.V1.ProductSet)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/3.6.0/Google.Cloud.Vision.V1.ProductSet)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/3.5.0/Google.Cloud.Vision.V1.ProductSet)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/3.4.0/Google.Cloud.Vision.V1.ProductSet)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/3.3.0/Google.Cloud.Vision.V1.ProductSet)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/3.2.0/Google.Cloud.Vision.V1.ProductSet)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/3.1.0/Google.Cloud.Vision.V1.ProductSet)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/3.0.0/Google.Cloud.Vision.V1.ProductSet)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/2.5.0/Google.Cloud.Vision.V1.ProductSet)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/2.4.0/Google.Cloud.Vision.V1.ProductSet)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Vision.V1/2.3.0/Google.Cloud.Vision.V1.ProductSet) \n\n public sealed class ProductSet : IMessage\u003cProductSet\u003e, IEquatable\u003cProductSet\u003e, IDeepCloneable\u003cProductSet\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Vision v1 API class ProductSet.\n\nA ProductSet contains Products. A ProductSet can contain a maximum of 1\nmillion reference images. If the limit is exceeded, periodic indexing will\nfail. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ProductSet \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[ProductSet](/dotnet/docs/reference/Google.Cloud.Vision.V1/latest/Google.Cloud.Vision.V1.ProductSet), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[ProductSet](/dotnet/docs/reference/Google.Cloud.Vision.V1/latest/Google.Cloud.Vision.V1.ProductSet), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[ProductSet](/dotnet/docs/reference/Google.Cloud.Vision.V1/latest/Google.Cloud.Vision.V1.ProductSet), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Vision.V1](/dotnet/docs/reference/Google.Cloud.Vision.V1/latest/Google.Cloud.Vision.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Vision.V1.dll\n\nConstructors\n------------\n\n### ProductSet()\n\n public ProductSet()\n\n### ProductSet(ProductSet)\n\n public ProductSet(ProductSet other)\n\nProperties\n----------\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nThe user-provided name for this ProductSet. Must not be empty. Must be at\nmost 4096 characters long.\n\n### IndexError\n\n public Status IndexError { get; set; }\n\nOutput only. If there was an error with indexing the product set, the field\nis populated.\n\nThis field is ignored when creating a ProductSet.\n\n### IndexTime\n\n public Timestamp IndexTime { get; set; }\n\nOutput only. The time at which this ProductSet was last indexed. Query\nresults will reflect all updates before this time. If this ProductSet has\nnever been indexed, this timestamp is the default value\n\"1970-01-01T00:00:00Z\".\n\nThis field is ignored when creating a ProductSet.\n\n### Name\n\n public string Name { get; set; }\n\nThe resource name of the ProductSet.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.\n\nThis field is ignored when creating a ProductSet.\n\n### ProductSetName\n\n public ProductSetName ProductSetName { get; set; }\n\n[ProductSetName](/dotnet/docs/reference/Google.Cloud.Vision.V1/latest/Google.Cloud.Vision.V1.ProductSetName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Vision.V1/latest/Google.Cloud.Vision.V1.ProductSet#Google_Cloud_Vision_V1_ProductSet_Name) resource name property."]]