Uri Oluşturucular

Tanım

Uri sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

Uri(String)

Belirtilen URI ile Uri sınıfının yeni bir örneğini başlatır.

Uri(SerializationInfo, StreamingContext)
Geçersiz.

SerializationInfo ve StreamingContext sınıflarının belirtilen örneklerinden Uri sınıfının yeni bir örneğini başlatır.

Uri(String, Boolean)
Geçersiz.
Geçersiz.
Geçersiz.

Belirtilen URI ile Uri sınıfının yeni bir örneğini başlatır ve karakter kaçışı açık denetimiyle.

Uri(String, UriCreationOptions)

Belirtilen URI ve ek UriCreationOptionsile Uri sınıfının yeni bir örneğini başlatır.

Uri(String, UriKind)

Belirtilen URI ile Uri sınıfının yeni bir örneğini başlatır. Bu oluşturucu, URI dizesinin göreli bir URI mi, mutlak URI mi yoksa belirsiz mi olduğunu belirtmenize olanak tanır.

Uri(Uri, String)

Belirtilen temel URI'yi ve göreli URI dizesini temel alarak Uri sınıfının yeni bir örneğini başlatır.

Uri(Uri, Uri)

Belirtilen temel Uri örneği ve göreli Uri örneği birleşimine göre Uri sınıfının yeni bir örneğini başlatır.

Uri(Uri, String, Boolean)
Geçersiz.
Geçersiz.
Geçersiz.

Belirtilen temel ve göreli URI'leri temel alarak Uri sınıfının yeni bir örneğini başlatır ve karakter kaçışını açık bir şekilde denetler.

Uri(String)

Kaynak:
Uri.cs
Kaynak:
Uri.cs
Kaynak:
Uri.cs

Belirtilen URI ile Uri sınıfının yeni bir örneğini başlatır.

public:
 Uri(System::String ^ uriString);
public Uri (string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)

Parametreler

uriString
String

Uri örneği tarafından temsil edilecek kaynağı tanımlayan bir dize. Dize biçimindeki bir IPv6 adresinin köşeli ayraç içine alınması gerektiğini unutmayın. Örneğin, "http://[2607:f8b0:400d:c06::69]".

Özel durumlar

uriString null.

Not: Windows Mağazası uygulamaları için .NET veya Taşınabilir Sınıf Kitaplığıiçinde bunun yerine FormatExceptiontemel sınıf özel durumunu yakalayın.

uriString boş.

-veya-

uriString'de belirtilen düzen doğru biçimlendirilmemiş. Bkz. CheckSchemeName(String).

-veya-

uriString çok fazla eğik çizgi içeriyor.

-veya-

uriString'de belirtilen parola geçerli değil.

-veya-

uriString'de belirtilen ana bilgisayar adı geçerli değil.

-veya-

uriString belirtilen dosya adı geçerli değil.

-veya-

uriString'de belirtilen kullanıcı adı geçerli değil.

-veya-

uriString'de belirtilen konak veya yetkili adı ters eğik çizgilerle sonlandırılamaz.

-veya-

uriString belirtilen bağlantı noktası numarası geçerli değil veya ayrıştırılamıyor.

-veya-

uriString uzunluğu 65519 karakteri aşıyor.

-veya-

uriString'de belirtilen düzenin uzunluğu 1023 karakteri aşıyor.

-veya-

uriStringgeçersiz bir karakter dizisi var.

-veya-

uriString'de belirtilen MS-DOS yolu c:\\ ile başlamalıdır.

Örnekler

Aşağıdaki örnek, URI http://www.contoso.com/ile bir Uri örneği oluşturur.

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri myUri = new Uri("http://www.contoso.com/");
let myUri = Uri "http://www.contoso.com/"
Dim myUri As New Uri("http://www.contoso.com/")

Açıklamalar

Bu oluşturucu, URI dizesinden bir Uri örneği oluşturur. URI'yi ayrıştırarak kurallı biçimde yerleştirir ve gerekli kaçış kodlamalarını yapar.

Bu oluşturucu, Uri erişilebilir bir kaynağa başvurduğundan emin değildir.

Bu oluşturucu, string parametresinin mutlak bir URI'ye başvurduğunu ve Absoluteolarak ayarlanmış UriKind ile Uri oluşturucuyu çağırmaya eşdeğer olduğunu varsayar. Oluşturucuya geçirilen string parametresi göreli bir URI ise, bu oluşturucu bir UriFormatExceptionoluşturur.

Şunlara uygulanır

Uri(SerializationInfo, StreamingContext)

Kaynak:
Uri.cs
Kaynak:
Uri.cs
Kaynak:
Uri.cs

Dikkat

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

SerializationInfo ve StreamingContext sınıflarının belirtilen örneklerinden Uri sınıfının yeni bir örneğini başlatır.

protected:
 Uri(System::Runtime::Serialization::SerializationInfo ^ serializationInfo, System::Runtime::Serialization::StreamingContext streamingContext);
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)

Parametreler

serializationInfo
SerializationInfo

Yeni Uri örneğini seri hale getirmek için gereken bilgileri içeren SerializationInfo sınıfının bir örneği.

streamingContext
StreamingContext

Yeni Uri örneğiyle ilişkilendirilmiş serileştirilmiş akışın kaynağını içeren StreamingContext sınıfının bir örneği.

Öznitelikler

Özel durumlar

serializationInfo parametresi null bir URI içerir.

serializationInfo parametresi boş bir URI içeriyor.

-veya-

Belirtilen düzen doğru biçimlendirilmemiş. Bkz. CheckSchemeName(String).

-veya-

URI çok fazla eğik çizgi içeriyor.

-veya-

URI'de belirtilen parola geçerli değil.

-veya-

URI'de belirtilen ana bilgisayar adı geçerli değil.

-veya-

URI'de belirtilen dosya adı geçerli değil.

-veya-

URI'de belirtilen kullanıcı adı geçerli değil.

-veya-

URI'de belirtilen konak veya yetkili adı ters eğik çizgilerle sonlandırılamaz.

-veya-

URI'de belirtilen bağlantı noktası numarası geçerli değil veya ayrıştırılamıyor.

-veya-

URI uzunluğu 65519 karakteri aşıyor.

-veya-

URI'de belirtilen düzenin uzunluğu 1023 karakteri aşıyor.

-veya-

URI'de geçersiz bir karakter dizisi var.

-veya-

URI'de belirtilen MS-DOS yolu c:\\ ile başlamalıdır.

Açıklamalar

Bu oluşturucu, Uri sınıfı için ISerializable arabirimini uygular.

Ayrıca bkz.

  • XML ve SOAP Serileştirme

Şunlara uygulanır

Uri(String, Boolean)

Kaynak:
Uri.cs
Kaynak:
Uri.cs
Kaynak:
Uri.cs

Dikkat

The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Dikkat

This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.

Dikkat

The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202

Belirtilen URI ile Uri sınıfının yeni bir örneğini başlatır ve karakter kaçışı açık denetimiyle.

public:
 Uri(System::String ^ uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
public Uri (string uriString, bool dontEscape);
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
new Uri : string * bool -> Uri
Public Sub New (uriString As String, dontEscape As Boolean)

Parametreler

uriString
String

Uri örneği tarafından temsil edilecek kaynağı tanımlayan bir dize. Dize biçimindeki bir IPv6 adresinin köşeli ayraç içine alınması gerektiğini unutmayın. Örneğin, "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

uriString tamamen kaçış olup olmadığını true; aksi takdirde, false.

Öznitelikler

Özel durumlar

uriString null.

uriString boş veya yalnızca boşluk içeriyor.

-veya-

uriString'de belirtilen düzen geçerli değil.

-veya-

uriString çok fazla eğik çizgi içeriyor.

-veya-

uriString'de belirtilen parola geçerli değil.

-veya-

uriString'de belirtilen ana bilgisayar adı geçerli değil.

-veya-

uriString belirtilen dosya adı geçerli değil.

-veya-

uriString'de belirtilen kullanıcı adı geçerli değil.

-veya-

uriString'de belirtilen konak veya yetkili adı ters eğik çizgilerle sonlandırılamaz.

-veya-

uriString belirtilen bağlantı noktası numarası geçerli değil veya ayrıştırılamıyor.

-veya-

uriString uzunluğu 65519 karakteri aşıyor.

-veya-

uriString'de belirtilen düzenin uzunluğu 1023 karakteri aşıyor.

-veya-

uriStringgeçersiz bir karakter dizisi var.

-veya-

uriString'de belirtilen MS-DOS yolu c:\\ ile başlamalıdır.

Örnekler

Aşağıdaki örnek, URI http://www.contoso.com/Hello%20World.htmiçin bir Uri örneği oluşturur. İçerilen URI tamamen kaçış olduğundan ve kurallı biçimde olduğundan, dontEscape parametresi trueolarak ayarlanabilir.

Uri^ myUri = gcnew Uri(  "http://www.contoso.com/Hello%20World.htm",true );
Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
let myUri = Uri("http://www.contoso.com/Hello%20World.htm", true)
Dim myUri As New Uri("http://www.contoso.com/Hello%20World.htm", True)

Açıklamalar

Bu oluşturucu, URI dizesinden bir Uri örneği oluşturur. URI'yi ayrıştırıp kurallı biçimde yerleştirir.

dontEscape parametresi, ayrılmış karakterlerin kaçış sıralarına çevrilip çevrilmeyeceğini denetler. Bu parametre yalnızca URI'deki tüm ayrılmış karakterlerin kaçıldığından eminseniz true olarak ayarlanmalıdır. Değerin tamamen kaçılmayan bir URI için true olarak ayarlanması beklenmeyen davranışlara neden olabilir. Bu parametreyi her zaman falseolarak ayarlamanız kesinlikle önerilir.

dontEscape falseolarak ayarlanırsa, oluşturucu tüm yüzde oluşumlarının (%) ardından geçerli bir kaçış dizisinin geldiğini denetleyerek ayrılmış karakterlerin hepsinden kaçar. Bir yüzdeyi izleyen karakter dizisi geçerli değilse, yüzde değeri %25ile değiştirilir.

Bu oluşturucu, Uri erişilebilir bir kaynağa başvurduğundan emin değildir.

Şunlara uygulanır

Uri(String, UriCreationOptions)

Kaynak:
Uri.cs
Kaynak:
Uri.cs
Kaynak:
Uri.cs

Belirtilen URI ve ek UriCreationOptionsile Uri sınıfının yeni bir örneğini başlatır.

public:
 Uri(System::String ^ uriString, UriCreationOptions % creationOptions);
public Uri (string uriString, in UriCreationOptions creationOptions);
new Uri : string * UriCreationOptions -> Uri
Public Sub New (uriString As String, ByRef creationOptions As UriCreationOptions)

Parametreler

uriString
String

Uri örneği tarafından temsil edilecek kaynağı tanımlayan bir dize.

creationOptions
UriCreationOptions

Uri nasıl oluşturulduğunu ve nasıl davranacağını denetleen seçenekler.

Şunlara uygulanır

Uri(String, UriKind)

Kaynak:
Uri.cs
Kaynak:
Uri.cs
Kaynak:
Uri.cs

Belirtilen URI ile Uri sınıfının yeni bir örneğini başlatır. Bu oluşturucu, URI dizesinin göreli bir URI mi, mutlak URI mi yoksa belirsiz mi olduğunu belirtmenize olanak tanır.

public:
 Uri(System::String ^ uriString, UriKind uriKind);
public Uri (string uriString, UriKind uriKind);
new Uri : string * UriKind -> Uri
Public Sub New (uriString As String, uriKind As UriKind)

Parametreler

uriString
String

Uri örneği tarafından temsil edilecek kaynağı tanımlayan bir dize. Dize biçimindeki bir IPv6 adresinin köşeli ayraç içine alınması gerektiğini unutmayın. Örneğin, "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

URI dizesinin göreli bir URI mi, mutlak URI mi yoksa belirsiz mi olduğunu belirtir.

Özel durumlar

uriKind geçersiz.

uriString null.

Not: Windows Mağazası uygulamaları için .NET veya Taşınabilir Sınıf Kitaplığıiçinde bunun yerine FormatExceptiontemel sınıf özel durumunu yakalayın.

uriString göreli bir URI içerir ve uriKindAbsolute.

veya

uriString mutlak bir URI içerir ve uriKindRelative.

veya

uriString boş.

-veya-

uriString'de belirtilen düzen doğru biçimlendirilmemiş. Bkz. CheckSchemeName(String).

-veya-

uriString çok fazla eğik çizgi içeriyor.

-veya-

uriString'de belirtilen parola geçerli değil.

-veya-

uriString'de belirtilen ana bilgisayar adı geçerli değil.

-veya-

uriString belirtilen dosya adı geçerli değil.

-veya-

uriString'de belirtilen kullanıcı adı geçerli değil.

-veya-

uriString'de belirtilen konak veya yetkili adı ters eğik çizgilerle sonlandırılamaz.

-veya-

uriString belirtilen bağlantı noktası numarası geçerli değil veya ayrıştırılamıyor.

-veya-

uriString uzunluğu 65519 karakteri aşıyor.

-veya-

uriString'de belirtilen düzenin uzunluğu 1023 karakteri aşıyor.

-veya-

uriStringgeçersiz bir karakter dizisi var.

-veya-

uriString'de belirtilen MS-DOS yolu c:\\ ile başlamalıdır.

Açıklamalar

Göreli ve mutlak URI'ler, biçimlerinde farklı kısıtlamalara sahiptir. Örneğin, göreli URI bir şema veya yetkili gerektirmez. uriKind'de belirttiğiniz değer, uriStringgeçirilen URI türüyle eşleşmelidir. Ancak, RelativeOrAbsolute belirtilirse, URI dizesi göreli veya mutlak olabilir.

Şunlara uygulanır

Uri(Uri, String)

Kaynak:
Uri.cs
Kaynak:
Uri.cs
Kaynak:
Uri.cs

Belirtilen temel URI'yi ve göreli URI dizesini temel alarak Uri sınıfının yeni bir örneğini başlatır.

public:
 Uri(Uri ^ baseUri, System::String ^ relativeUri);
public Uri (Uri baseUri, string relativeUri);
public Uri (Uri baseUri, string? relativeUri);
new Uri : Uri * string -> Uri
Public Sub New (baseUri As Uri, relativeUri As String)

Parametreler

baseUri
Uri

Temel URI.

relativeUri
String

Temel URI'ye eklenecek göreli URI.

Özel durumlar

baseUri null.

baseUri mutlak bir Uri örneği değildir.

Not: Windows Mağazası uygulamaları için .NET veya Taşınabilir Sınıf Kitaplığıiçinde bunun yerine FormatExceptiontemel sınıf özel durumunu yakalayın.

baseUri ve relativeUri birleştirilerek oluşturulan URI boştur veya yalnızca boşluk içerir.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen düzen geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI çok fazla eğik çizgi içeriyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen parola geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen ana bilgisayar adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen dosya adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen kullanıcı adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen konak veya yetkili adı ters eğik çizgilerle sonlandırılamaz.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen bağlantı noktası numarası geçerli değil veya ayrıştırılamıyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'nin uzunluğu 65519 karakteri aşıyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen düzenin uzunluğu 1023 karakteri aşıyor.

-veya-

URI'de baseUri ve relativeUribirleştirilerek oluşturulan geçersiz bir karakter dizisi vardır.

-veya-

baseUri'de belirtilen MS-DOS yolu c:\\ ile başlamalıdır.

Örnekler

Aşağıdaki örnek, göreli URI'leri http://www.contoso.com ve catalog/shownew.htm birleştirerek mutlak URI http://www.contoso.com/catalog/shownew.htmoluşturarak Uri sınıfının yeni bir örneğini oluşturur.

Uri^ baseUri = gcnew Uri(  "http://www.contoso.com" );
Uri^ myUri = gcnew Uri( baseUri, "catalog/shownew.htm" );
Console::WriteLine( myUri->ToString() );
Uri baseUri = new Uri("http://www.contoso.com");
 Uri myUri = new Uri(baseUri, "catalog/shownew.htm");

Console.WriteLine(myUri.ToString());
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "catalog/shownew.htm")

printfn $"{myUri}"
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")

Console.WriteLine(myUri.ToString())

Açıklamalar

Bu oluşturucu, baseUri ve relativeUribirleştirerek bir Uri örneği oluşturur. relativeUri mutlak bir URI ise (düzen, konak adı ve isteğe bağlı olarak bağlantı noktası numarası içeren), Uri örneği yalnızca relativeUrikullanılarak oluşturulur.

baseUri göreli parçaları (/apigibi) varsa, baseUri göreli kısmı Uriiçinde korunacaksa göreli parça eğik çizgiyle (/api/gibi) sonlandırılmalıdır.

Ayrıca, relativeUri eğik çizgiyle başlarsa, baseUri göreli bir kısmını değiştirir

Bu oluşturucu, Uri erişilebilir bir kaynağa başvurduğundan emin değildir.

Şunlara uygulanır

Uri(Uri, Uri)

Kaynak:
Uri.cs
Kaynak:
Uri.cs
Kaynak:
Uri.cs

Belirtilen temel Uri örneği ve göreli Uri örneği birleşimine göre Uri sınıfının yeni bir örneğini başlatır.

public:
 Uri(Uri ^ baseUri, Uri ^ relativeUri);
public Uri (Uri baseUri, Uri relativeUri);
new Uri : Uri * Uri -> Uri
Public Sub New (baseUri As Uri, relativeUri As Uri)

Parametreler

baseUri
Uri

Yeni Uri örneğinin temeli olan mutlak Uri.

relativeUri
Uri

baseUriile birleştirilen göreli Uri örneği.

Özel durumlar

baseUri mutlak bir Uri örneği değildir.

baseUri null.

baseUri mutlak bir Uri örneği değildir.

Not: Windows Mağazası uygulamaları için .NET veya Taşınabilir Sınıf Kitaplığıiçinde bunun yerine FormatExceptiontemel sınıf özel durumunu yakalayın.

baseUri ve relativeUri birleştirilerek oluşturulan URI boştur veya yalnızca boşluk içerir.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen düzen geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI çok fazla eğik çizgi içeriyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen parola geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen ana bilgisayar adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen dosya adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen kullanıcı adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen konak veya yetkili adı ters eğik çizgilerle sonlandırılamaz.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen bağlantı noktası numarası geçerli değil veya ayrıştırılamıyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'nin uzunluğu 65519 karakteri aşıyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen düzenin uzunluğu 1023 karakteri aşıyor.

-veya-

URI'de baseUri ve relativeUribirleştirilerek oluşturulan geçersiz bir karakter dizisi vardır.

-veya-

baseUri'de belirtilen MS-DOS yolu c:\\ ile başlamalıdır.

Örnekler

Bu örnek, absoluteUrimutlak bir Uri örneği ve relativeUrigöreli bir Uri örneği oluşturur. Ardından bu iki örnekten combinedUriyeni bir Uri örneği oluşturulur.

// Create an absolute Uri from a string.
String^ addressString1 = "http://www.contoso.com/";
String^ addressString2 = "catalog/shownew.htm?date=today";
Uri^ absoluteUri = gcnew Uri(addressString1);

// Create a relative Uri from a string.  allowRelative = true to allow for 
// creating a relative Uri.
Uri^ relativeUri = gcnew Uri(addressString2);

// Check whether the new Uri is absolute or relative.
if (  !relativeUri->IsAbsoluteUri )
   Console::WriteLine( "{0} is a relative Uri.", relativeUri );

// Create a new Uri from an absolute Uri and a relative Uri.
Uri^ combinedUri = gcnew Uri( absoluteUri,relativeUri );
Console::WriteLine( combinedUri->AbsoluteUri );
// Create an absolute Uri from a string.
Uri absoluteUri = new Uri("http://www.contoso.com/");

// Create a relative Uri from a string.  allowRelative = true to allow for
// creating a relative Uri.
Uri relativeUri = new Uri("/catalog/shownew.htm?date=today", UriKind.Relative);

// Check whether the new Uri is absolute or relative.
if (!relativeUri.IsAbsoluteUri)
    Console.WriteLine("{0} is a relative Uri.", relativeUri);

// Create a new Uri from an absolute Uri and a relative Uri.
Uri combinedUri = new Uri(absoluteUri, relativeUri);
Console.WriteLine(combinedUri.AbsoluteUri);
// Create an absolute Uri from a string.
let absoluteUri = Uri "http://www.contoso.com/"

// Create a relative Uri from a string.  allowRelative = true to allow for
// creating a relative Uri.
let relativeUri = Uri("/catalog/shownew.htm?date=today", UriKind.Relative)

// Check whether the new Uri is absolute or relative.
if not relativeUri.IsAbsoluteUri then
    printfn $"{relativeUri} is a relative Uri."

// Create a new Uri from an absolute Uri and a relative Uri.
let combinedUri = Uri(absoluteUri, relativeUri)
printfn $"{combinedUri.AbsoluteUri}"
    ' Create an absolute Uri from a string.
    Dim absoluteUri As New Uri("http://www.contoso.com/")
    
    ' Create a relative Uri from a string.  allowRelative = true to allow for 
    ' creating a relative Uri.
    Dim relativeUri As New Uri("/catalog/shownew.htm?date=today")
    
    ' Check whether the new Uri is absolute or relative.
    If Not relativeUri.IsAbsoluteUri Then
        Console.WriteLine("{0} is a relative Uri.", relativeUri)
    End If 
    ' Create a new Uri from an absolute Uri and a relative Uri.
    Dim combinedUri As New Uri(absoluteUri, relativeUri)
    Console.WriteLine(combinedUri.AbsoluteUri)

End Sub

Açıklamalar

Bu oluşturucu, göreli bir Uri örneğiyle relativeUribaseUrimutlak bir Uri örneğini birleştirerek yeni bir Uri örneği oluşturur. relativeUri mutlak bir Uri örneğiyse (düzen, konak adı ve isteğe bağlı olarak bağlantı noktası numarası içeren), Uri örneği yalnızca relativeUrikullanılarak oluşturulur.

baseUri göreli parçaları (/apigibi) varsa, baseUri göreli kısmı Uriiçinde korunacaksa göreli parça eğik çizgiyle (/api/gibi) sonlandırılmalıdır.

Ayrıca, relativeUri eğik çizgiyle başlarsa, baseUri göreli bir kısmını değiştirir

Bu oluşturucu, Uri erişilebilir bir kaynağa başvurduğundan emin değildir.

Şunlara uygulanır

Uri(Uri, String, Boolean)

Kaynak:
Uri.cs
Kaynak:
Uri.cs
Kaynak:
Uri.cs

Dikkat

The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Dikkat

This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.

Dikkat

The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202

Belirtilen temel ve göreli URI'leri temel alarak Uri sınıfının yeni bir örneğini başlatır ve karakter kaçışını açık bir şekilde denetler.

public:
 Uri(Uri ^ baseUri, System::String ^ relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
new Uri : Uri * string * bool -> Uri
Public Sub New (baseUri As Uri, relativeUri As String, dontEscape As Boolean)

Parametreler

baseUri
Uri

Temel URI.

relativeUri
String

Temel URI'ye eklenecek göreli URI.

dontEscape
Boolean

baseUri ve relativeUri tamamen kaçılıp kaçmadığını true; aksi takdirde, false.

Öznitelikler

Özel durumlar

baseUri null.

baseUri mutlak bir Uri örneği değildir.

baseUri ve relativeUri birleştirilerek oluşturulan URI boştur veya yalnızca boşluk içerir.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen düzen geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI çok fazla eğik çizgi içeriyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen parola geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen ana bilgisayar adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen dosya adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen kullanıcı adı geçerli değil.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen konak veya yetkili adı ters eğik çizgilerle sonlandırılamaz.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen bağlantı noktası numarası geçerli değil veya ayrıştırılamıyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'nin uzunluğu 65519 karakteri aşıyor.

-veya-

baseUri ve relativeUri birleştirilerek oluşturulan URI'de belirtilen düzenin uzunluğu 1023 karakteri aşıyor.

-veya-

URI'de baseUri ve relativeUribirleştirilerek oluşturulan geçersiz bir karakter dizisi vardır.

-veya-

baseUri'de belirtilen MS-DOS yolu c:\\ ile başlamalıdır.

Örnekler

Aşağıdaki örnek, göreli URI'leri http://www.contoso.com ve mutlak URI oluşturmak için Hello%20World.htm birleştirerek Uri sınıfının yeni bir örneğini oluşturur.

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "Hello%20World.htm", false)
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)

Açıklamalar

Bu oluşturucu, baseUri ve relativeUribirleştirerek bir Uri örneği oluşturur. relativeUri geçirilen URI mutlak bir URI ise (şema, ana bilgisayar adı ve isteğe bağlı olarak bir bağlantı noktası numarası içerir), Uri örneği yalnızca relativeUrikullanılarak oluşturulur.

dontEscape parametresi, ayrılmış karakterlerin kaçış sıralarına çevrilip çevrilmeyeceğini denetler. Bu parametre yalnızca URI'deki tüm ayrılmış karakterlerin kaçıldığından eminseniz true olarak ayarlanmalıdır. Değerin tamamen kaçılmayan bir URI için true olarak ayarlanması beklenmeyen davranışlara neden olabilir. Bu parametreyi her zaman falseolarak ayarlamanız kesinlikle önerilir. dontEscape falseolarak ayarlanırsa, oluşturucu tüm yüzde oluşumlarının (%) ardından geçerli bir kaçış dizisinin geldiğini denetleyerek ayrılmış karakterlerin hepsinden kaçar. Bir yüzdeyi izleyen karakter dizisi geçerli değilse, yüzde değeri %25ile değiştirilir.

Bu oluşturucu, Uri erişilebilir bir kaynağa başvurduğundan emin değildir.

Arayanlara Notlar

Güvenlik endişeleri nedeniyle, uygulamanız güvenilmeyen kaynaklardan URI dizeleriyle ve dontEscapetrueolarak ayarlanmış bu oluşturucuyu çağırmamalıdır. Alternatif olarak, bu oluşturucuyu çağırmadan önce IsWellFormedOriginalString() yöntemini çağırarak URI dizesini geçerlilik açısından denetleyebilirsiniz.

Şunlara uygulanır