- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我做了一个 UserControl 的例子,但仍然(花了一整天)无法解决我的问题。
我希望 UserControl 有一个复杂的属性,以便在设计时查看属性网格内的该属性,并能够更改它等等。复杂的属性很简单 - 它是一个具有一个字符串属性的类。
现在我有两个问题:
1)当我更改属性网格中的文本值时 - 该值不会转到 Form1.Designer.cs
2)有时,当我重建项目(甚至不需要运行)时,我会弹出一个VS的弹出窗口,其中表示SettingsCoverter无法将Settings转换为InstanceDescriptor。那些设置类是我的。请帮忙解决这个问题。
[TypeConverter(typeof(SettingsConverter))]
public class Settings : INotifyPropertyChanged
{
private string stringText = "123";
public string StringText
{
get { return stringText; }
set
{
stringText = value;
OnPropertyChanged("StringText");
}
}
public Settings()
{
}
public Settings(string fText)
{
StringText = fText;
}
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(name));
}
#region Implementation of INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
#endregion
}
和
class SettingsConverter : ExpandableObjectConverter
{
public override bool GetCreateInstanceSupported(ITypeDescriptorContext context)
{
return true;
}
public override object CreateInstance(ITypeDescriptorContext context, System.Collections.IDictionary propertyValues)
{
return new Settings((string)propertyValues["StringText"]);
}
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
if (sourceType == typeof(string))
return true;
return base.CanConvertFrom(context, sourceType);
}
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
if (destinationType == typeof(string) || destinationType == typeof(InstanceDescriptor))
return true;
return base.CanConvertTo(context, destinationType);
}
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (value is Settings)
{
if (destinationType == typeof(InstanceDescriptor))
{
Settings settings = (Settings)value;
object[] properties = new object[1];
Type[] types = new Type[1];
types[0] = typeof(string);
properties[0] = settings.StringText;
ConstructorInfo ci = typeof(Settings).GetConstructor(types);
return new InstanceDescriptor(ci, properties);
}
if (destinationType == typeof(string))
{
Settings settings = (Settings)value;
return settings.StringText;
}
}
return base.ConvertTo(context, culture, value, destinationType);
}
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
{
if (value == null)
return "";
if (value is string)
return new Settings(value as string);
return base.ConvertFrom(context, culture, value);
}
}
最佳答案
2)这是建议
http://forums.asp.net/t/1309871.aspx?TypeConverter+Error+InstanceDescriptor+
类型转换器直接进入 CLR 的类型信息缓存并不经过项目实现的类型解析服务系统。这意味着 CLR 将从程序集返回类型之前已在重建之前加载 - 并且转换将失败因为设计表面上的类型是从新建的集会。我确认您可以通过确保版本来解决此问题类库项目的编号在每次构建时自动递增。您可以通过以下方式执行此操作:1)调出类库项目的属性2) 选择“应用程序”选项卡,然后单击“程序集信息...”按钮。3) 在版本中,该字段将最后一个条目设置为“*” - 所以应该显示:1 00 *
现在,每当构建类库时,修订号(最后一位数字版本)将自动递增。这会强制 CLR 失效它已缓存的条目并加载新条目。
关于winforms - c# TypeConverter 和 InstanceDescriptor 的痛苦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15091463/
我以前从未使用过 wxWidgets,我很想尝试一下,但我在开始时遇到了一百万个问题。 我在 Visual Studio 2010 上使用 wxWidgets 2.9.1。我已经完成了批构建以在每个配
这个问题在这里已经有了答案: Xcode: code loses syntax coloring (15 个答案) 关闭 4 年前。 我在使用 Xcode 4 (4.3.1 - 4E1019) 时遇
以下代码加载演出,清除演出事件集合,然后添加新事件。 Data.LinqToSQL.Gig dbGig = DBContext.Gigs.Where(x => x.ID ==
我正在尝试将 FontAwesome 用于我开发的 jQuery 灯箱插件上的一些控制图标。对于我的一生,我无法让图标在 IE7 中显示。我按照这里的建议reload the IE7 styleshe
使用sqlite3、python 我有一个蹩脚的旧文件legacy_sales: item | year | week | mon | tue | wed | thu | fri | sat |sun
似乎我整个成年生活都被 VC++ 链接器提示或犹豫所折磨,因为各种库不同意使用哪个版本的运行时库。我从来没有心情去掌握那个令人沮丧的主题。所以我只是试着弄乱它,直到它起作用。错误消息永远不会有用。微软
我有 Auto Complete Mode为 Emacs 安装。 首先:当我输入声明时,我会得到正常的自动完成行为: 所以我点击了 Tab 来完成——没问题。但后来我点击了 ;: 它会立即尝试完成某些
伙计们,我对添加对 Microsoft.Web.Infrastructure.dll 的引用感到非常痛苦,也许有人可以帮我解决这个问题。 我正在尝试添加对 Microsoft.Web.Infrastr
我正在尝试使用 docker-compose 构建一个简单的待办事项应用程序,该应用程序具有 3 个容器:一个带有 sqlalchemy 和 marshmallow 的 Flask Rest API、
我一直在努力部署一个相对较大的 Rails 应用程序(Rails 2.3.5),最近做了一些负载测试,我们发现该站点的吞吐量远低于预期的流量水平。 我们在标准的 32 位服务器上运行,使用 Cento
我已经完美地完成了这个练习: import acm.program.*; import acm.graphics.*; import java.awt.event.*; public class Pr
我是一名优秀的程序员,十分优秀!