Я наконец-то нашел проблему, но это не имеет смысла, просто кажется невозможным.Это даже поправимо?Я думал, что все пространства имен работают одинаково, вы можете вызывать и получать доступ к элементам управления из разных пространств имен, набирая thenamespace.theclass и т. Д., Это в основном использовалось для категоризации (для меня в любом случае).
Моя проблема с сериализацией не кажетсячтобы принять новые пространства имен, генерируется создаваемый им код ResX, если ссылки не находятся в том же пространстве имен, что и пространство имен проекта.
Исходная ошибка:
Ошибка 1 Неправильный файл Resx.Не удалось загрузить тип Namespace2.FileFiltering, WindowsFormsApplication1, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null, который используется в файле .RESX.Убедитесь, что необходимые ссылки были добавлены в ваш проект.Строка 127, позиция 5. c: \ users \ aderic \ documents \ visual studio 2010 \ Projects \ WindowsFormsApplication1 \ WindowsFormsApplication1 \ Form1.resx 127 5 WindowsFormsApplication1
Я хотел бы использовать элемент управления многократного использования, но не могуЯ не хочу делать из этого DLL.(Я могу запутать это, но я бы предпочел, чтобы люди не импортировали и не использовали его).У меня есть 2 класса, они обычно компилируются, но поскольку я выбрал другое пространство имен, единственная ошибка компиляции связана с ResX, не находящим объект.Вот 2 класса:
using System;
using System.Windows.Forms;
using System.Runtime.Serialization;
namespace Namespace2
{
class TestObject : Control
{
System.Collections.Generic.List<Namespace2.FileFiltering> InternalExtensions = new System.Collections.Generic.List<Namespace2.FileFiltering>();
[System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)]
public System.Collections.Generic.List<Namespace2.FileFiltering> ExtensionList
{
get
{
return InternalExtensions;
}
set
{
InternalExtensions = value;
}
}
public TestObject()
{
BackColor = System.Drawing.Color.Gray;
}
}
[Serializable]
public class FileFiltering : ISerializable
{
String InternalFileType = "New File Type";
String[] InternalExtensions = new String[] { "*.*" };
public String FileType
{
get
{
return InternalFileType;
}
set
{
InternalFileType = value;
}
}
public String[] Extensions
{
get
{
return InternalExtensions;
}
set
{
InternalExtensions = value;
}
}
public FileFiltering()
{
}
public FileFiltering(SerializationInfo info, StreamingContext context)
{
FileType = info.GetString("FileType");
Extensions = (String[])info.GetValue("FileExtensions", typeof(String[]));
//Debugging.
Console.WriteLine("FileType is " + FileType);
Console.WriteLine("First extension is " + Extensions[0]);
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("FileType", FileType);
info.AddValue("FileExtensions", Extensions);
}
}
}
Кто-нибудь знает обходной путь для этого, или я просто застрял?Я работал над этим часами, наконец-то, через некоторое время он получил сериализацию, свойства работали и все такое, по крайней мере, некоторые из этих ошибок были мной, я просто узнал, что это не очень хорошо работает с пространством имен, отличным от пространства имен проекта.