C#Uri生成器用于资源

时间:2015-05-31 07:16:52

标签: c# wpf

我想写一个属性,它将构建我的资源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程序集,而不是我的实现程序集

问题:如何实现这一目标?

1 个答案:

答案 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));
        }
    }
}