26
“Z.dll ithal tip X ile Y.cs çatışmalarda tipi X” projemin aşağıdaki uyarıyı verir main.cs:Uyarı
Uyarı 1 tipi 'uzantılar. 'PATH \ Extensions.cs' içinde 'path \ lib.dll' içinde içe aktarılan 'Extensions.MessageDetails' türündeki çakışmalar 'MessageDetails'. 'Path \ Extensions.cs' bölümünde tanımlanan türü kullanmak. yol \ main.cs
Projemde sorun var mı? Uyarıdan nasıl kurtuluruz?
Projemin kod aşağıdaki yapıya sahiptir:
Extensions.cs
namespace Extensions
{
public class MessageDetails
{
public string message { get; set; }
public string link { get; set; }
public string picture { get; set; }
public string name { get; set; }
public string caption { get; set; }
public string description { get; set; }
public string userid { get; set; }
public string username { get; set; }
public object actions { get; set; }
public object privacy { get; set; }
public object targeting { get; set; }
}
}
lib.dll
namespace MyClassLib {
public class MyClassLibFoo {
public void foo(MessageDetails parameters) {
/* .. */
}
}
}
main.cs
Bu Extensions.cs gibi görünüyorusing MyClassLib;
using Extensions;
class Program
{
static void Main(string[] args)
{
MessageDetails md = new MessageDetails();
}
}
Uzantı sınıfınızın iki kopyası var (biri dll'nizde ve ana programınızda bir tane). –
evet, 'Extensions' sınıfı adında' MessageDetails' kullanılmasına ihtiyacım var .. –
Sorununuz, ikisi de aynı olanı referans almaları gerekiyor. Bunu yapmak için bir sınıf kitaplığına eklemeyi deneyin. –