我想写一个属性,它将构建我的资源URI。
我在MyProject.Common
程序集中有我的基类,其实现类似于
class abstract BaseItem
{
public abstract string Path { get; }
public Uri Path
{
return new Uri(string.Format("/{0};component{1}", Assembly.GetExecutingAssembly().FullName, Path ), UriKind.Relative);
}
我的实现是在不同的程序集中。
问题:Assembly.GetExecutingAssembly().FullName
返回MyProject.Common
程序集,而不是我的实现程序集
问题:如何实现这一目标?
答案 0 :(得分:1)
如果从实际派生类型的BaseItem获取程序集,它应该可以工作:
public abstract class BaseItem
{
public abstract string Path { get; }
public Uri Uri
{
get
{
return new Uri(string.Format("pack://application:,,,/{0};component/{1}",
this.GetType().Assembly.FullName, Path));
}
}
}