public TargetProjectName(string projectId, string locationId, string targetProjectId)
Constructs a new instance of a TargetProjectName class from the component parts of pattern
projects/{project}/locations/{location}/targetProjects/{target_project}
public static string Format(string projectId, string locationId, string targetProjectId)
Formats the IDs into the string representation of this TargetProjectName with pattern
projects/{project}/locations/{location}/targetProjects/{target_project}.
public static string FormatProjectLocationTargetProject(string projectId, string locationId, string targetProjectId)
Formats the IDs into the string representation of this TargetProjectName with pattern
projects/{project}/locations/{location}/targetProjects/{target_project}.
If true will successfully store an unparseable resource name into the UnparsedResource
property; otherwise will throw an ArgumentException if an unparseable resource name is
specified.
If true will successfully store an unparseable resource name into the UnparsedResource
property; otherwise will throw an ArgumentException if an unparseable resource name is
specified.
[[["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 \u003ccode\u003eTargetProjectName\u003c/code\u003e class in the VM Migration v1 API represents a resource name for a \u003ccode\u003eTargetProject\u003c/code\u003e resource, following the pattern \u003ccode\u003eprojects/{project}/locations/{location}/targetProjects/{target_project}\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the API is 2.6.0, with several previous versions also documented, ranging down to version 1.0.0, and this class allows for the construction, parsing, and formatting of these names using project, location, and target project IDs.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eTargetProjectName\u003c/code\u003e class provides properties such as \u003ccode\u003eProjectId\u003c/code\u003e, \u003ccode\u003eLocationId\u003c/code\u003e, and \u003ccode\u003eTargetProjectId\u003c/code\u003e to access the individual components of the resource name, as well as methods for formatting, parsing, and unparsing resource names.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements \u003ccode\u003eIResourceName\u003c/code\u003e and \u003ccode\u003eIEquatable<TargetProjectName>\u003c/code\u003e interfaces, supporting operations such as checking for equality and unequality between instances and contains methods for hash code generation and string representation of the name.\u003c/p\u003e\n"],["\u003cp\u003eThe class supports parsing both correctly formatted resource names and unparsed names, with optional validation, using the methods \u003ccode\u003eParse\u003c/code\u003e and \u003ccode\u003eTryParse\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# VM Migration v1 API - Class TargetProjectName (2.6.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.6.0 (latest)](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/2.5.0/Google.Cloud.VMMigration.V1.TargetProjectName)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/2.4.0/Google.Cloud.VMMigration.V1.TargetProjectName)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/2.3.0/Google.Cloud.VMMigration.V1.TargetProjectName)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/2.2.0/Google.Cloud.VMMigration.V1.TargetProjectName)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/2.1.0/Google.Cloud.VMMigration.V1.TargetProjectName)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/2.0.0/Google.Cloud.VMMigration.V1.TargetProjectName)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/1.0.0/Google.Cloud.VMMigration.V1.TargetProjectName) \n\n public sealed class TargetProjectName : IResourceName, IEquatable\u003cTargetProjectName\u003e\n\nReference documentation and code samples for the VM Migration v1 API class TargetProjectName.\n\nResource name for the `TargetProject` resource. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e TargetProjectName \n\nImplements\n----------\n\n[IResourceName](https://github.com/googleapis/gax-dotnet/blob/83f42b5edc4529818dbdb34d9ea9ecc3c04f7b6e/Google.Api.Gax/IResourceName.cs), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) \n\nInherited Members\n-----------------\n\n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype)\n\nNamespace\n---------\n\n[Google.Cloud.VMMigration.V1](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.VMMigration.V1.dll\n\nConstructors\n------------\n\n### TargetProjectName(string, string, string)\n\n public TargetProjectName(string projectId, string locationId, string targetProjectId)\n\nConstructs a new instance of a [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) class from the component parts of pattern\n`projects/{project}/locations/{location}/targetProjects/{target_project}`\n\nProperties\n----------\n\n### IsKnownPattern\n\n public bool IsKnownPattern { get; }\n\nWhether this instance contains a resource name with a known pattern.\n\n### LocationId\n\n public string LocationId { get; }\n\nThe `Location` ID. Will not be `null`, unless this instance contains an unparsed resource name.\n\n### ProjectId\n\n public string ProjectId { get; }\n\nThe `Project` ID. Will not be `null`, unless this instance contains an unparsed resource name.\n\n### TargetProjectId\n\n public string TargetProjectId { get; }\n\nThe `TargetProject` ID. Will not be `null`, unless this instance contains an unparsed resource\nname.\n\n### Type\n\n public TargetProjectName.ResourceNameType Type { get; }\n\nThe [TargetProjectName.ResourceNameType](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName.ResourceNameType) of the contained resource name.\n\n### UnparsedResource\n\n public UnparsedResourceName UnparsedResource { get; }\n\nThe contained [UnparsedResourceName](https://github.com/googleapis/gax-dotnet/blob/83f42b5edc4529818dbdb34d9ea9ecc3c04f7b6e/Google.Api.Gax/UnparsedResourceName.cs). Only non-`null` if this instance contains an\nunparsed resource name.\n\nMethods\n-------\n\n### Format(string, string, string)\n\n public static string Format(string projectId, string locationId, string targetProjectId)\n\nFormats the IDs into the string representation of this [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) with pattern\n`projects/{project}/locations/{location}/targetProjects/{target_project}`.\n\n### FormatProjectLocationTargetProject(string, string, string)\n\n public static string FormatProjectLocationTargetProject(string projectId, string locationId, string targetProjectId)\n\nFormats the IDs into the string representation of this [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) with pattern\n`projects/{project}/locations/{location}/targetProjects/{target_project}`.\n\n### FromProjectLocationTargetProject(string, string, string)\n\n public static TargetProjectName FromProjectLocationTargetProject(string projectId, string locationId, string targetProjectId)\n\nCreates a [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) with the pattern\n`projects/{project}/locations/{location}/targetProjects/{target_project}`.\n\n### FromUnparsed(UnparsedResourceName)\n\n public static TargetProjectName FromUnparsed(UnparsedResourceName unparsedResourceName)\n\nCreates a [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) containing an unparsed resource name.\n\n### GetHashCode()\n\n public override int GetHashCode()\n\nReturns a hash code for this resource name.\n\n**Overrides** \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)\n\n### Parse(string)\n\n public static TargetProjectName Parse(string targetProjectName)\n\nParses the given resource name string into a new [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) instance.\n\n**Remarks** \nTo parse successfully, the resource name must be formatted as one of the following:\n\n- `projects/{project}/locations/{location}/targetProjects/{target_project}`\n\n\u003cbr /\u003e\n\n### Parse(string, bool)\n\n public static TargetProjectName Parse(string targetProjectName, bool allowUnparsed)\n\nParses the given resource name string into a new [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) instance; optionally\nallowing an unparseable resource name.\n\n**Remarks** \nTo parse successfully, the resource name must be formatted as one of the following:\n\n- `projects/{project}/locations/{location}/targetProjects/{target_project}`\n\nOr may be in any format if `allowUnparsed` is `true`.\n\n\u003cbr /\u003e\n\n### ToString()\n\n public override string ToString()\n\nThe string representation of the resource name.\n\n**Overrides** \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\n### TryParse(string, out TargetProjectName)\n\n public static bool TryParse(string targetProjectName, out TargetProjectName result)\n\nTries to parse the given resource name string into a new [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) instance.\n\n**Remarks** \nTo parse successfully, the resource name must be formatted as one of the following:\n\n- `projects/{project}/locations/{location}/targetProjects/{target_project}`\n\n\u003cbr /\u003e\n\n### TryParse(string, bool, out TargetProjectName)\n\n public static bool TryParse(string targetProjectName, bool allowUnparsed, out TargetProjectName result)\n\nTries to parse the given resource name string into a new [TargetProjectName](/dotnet/docs/reference/Google.Cloud.VMMigration.V1/latest/Google.Cloud.VMMigration.V1.TargetProjectName) instance;\noptionally allowing an unparseable resource name.\n\n**Remarks** \nTo parse successfully, the resource name must be formatted as one of the following:\n\n- `projects/{project}/locations/{location}/targetProjects/{target_project}`\n\nOr may be in any format if `allowUnparsed` is `true`.\n\n\u003cbr /\u003e\n\nOperators\n---------\n\n### operator ==(TargetProjectName, TargetProjectName)\n\n public static bool operator ==(TargetProjectName a, TargetProjectName b)\n\nDetermines whether two specified resource names have the same value.\n\n### operator !=(TargetProjectName, TargetProjectName)\n\n public static bool operator !=(TargetProjectName a, TargetProjectName b)\n\nDetermines whether two specified resource names have different values."]]