みなさん、こんにちは。長い質問をしてすみませんが...
私はこのようなC#インターフェースを持っています:
public interface ISimpleViewModel
{
string SimpleText { get; }
}
次に、F#タイプを継承します。
type SimpleViewModel() =
interface ISimpleViewModel with
member this.SimpleText
with get() = "Hello again!"
また、C#の継承者がいます:
public class SimpleCSViewModel : ISimpleViewModel
{
public string SimpleText
{
get { return "Just testing"; }
}
}
最終的に、MainWindowctorにISimpleViewModelインスタンスが次のように挿入される非常に単純なWPFアプリケーションができました。
public partial class MainWindow : Window
{
public MainWindow(ISimpleViewModel viewModel)
{
ViewModel = viewModel;
InitializeComponent();
}
public ISimpleViewModel ViewModel
{
get { return DataContext as ISimpleViewModel; }
set { DataContext = value; }
}
}
そしてもちろん、TextプロパティがSimpleTextにバインドされているTextBlockがウィンドウにあります。
C#インスタンスを注入する場合に備えて、すべてが機能します。しかし、F#インスタンスの場合にプロパティが見つかる可能性があるBindingErrorを受け取ります。なぜそうなるのでしょうか?